Manual browser: apply(1)

APPLY(1) General Commands Manual APPLY(1)


applyapply a command to a set of arguments


apply [-ac] [-#] command argument ...


apply runs the named command on each argument argument in turn.

Character sequences of the form “%d” in command, where “d” is a digit from 1 to 9, are replaced by the d́th following unused argument. In this case, the largest digit number of arguments are discarded for each execution of command.

The options are as follows:

Normally arguments are taken singly; the optional number -# specifies the number of arguments to be passed to command. If the number is zero, command is run, without arguments, once for each argument.

If any sequences of “%d” occur in command, the -# option is ignored.

The use of the character “%” as a magic character may be changed with the -a option.


The following environment variable affects the execution of apply:
Pathname of shell to use. If this variable is not defined, the Bourne shell is used.


Default shell


apply echo *
is similar to ls(1);
apply -2 cmp a1 b1 a2 b2 a3 b3
compares the `a' files to the `b' files;
apply -0 who 1 2 3 4 5
runs who(1) 5 times; and
apply ́ln %1 /usr/joé *
links all files in the current directory to the directory /usr/joe.


The apply command appeared in 4.2BSD.


Rob Pike


Shell metacharacters in command may have bizarre effects; it is best to enclose complicated commands in single quotes ('').
April 4, 1994 NetBSD 7.0