Previous: Multiple Files, Up: Run Commands


3.3.3 Querying

To ask the user whether to execute a command on a single file, you can use the find primary ‘-okdir’ instead of ‘-execdir’, and the find primary ‘-ok’ instead of ‘-exec’:

— Action: -okdir command ;

Like ‘-execdir’ (see Single File), but ask the user first (on the standard input); if the response does not start with ‘y’ or ‘Y’, do not run the command, and return false. If the command is run, its standard input is redirected from /dev/null.

— Action: -ok command ;

This insecure variant of the ‘-okdir’ action is specified by POSIX. The main difference is that the command is executed in the directory from which find was invoked, meaning that ‘{}’ is expanded to a relative path starting with the name of one of the starting directories, rather than just the basename of the matched file. If the command is run, its standard input is redirected from /dev/null.

When processing multiple files with a single command, to query the user you give xargs the following option. When using this option, you might find it useful to control the number of files processed per invocation of the command (see Limiting Command Size).

--interactive
-p
Prompt the user about whether to run each command line and read a line from the terminal. Only run the command line if the response starts with ‘y’ or ‘Y’. Implies ‘-t’.