Here is a small echo script to make it obvious as to how xargs provides command arguments:
#!/bin/bash #Filename: cecho.sh echo $*'#'
When arguments are passed to the cecho.sh shell, it will print the arguments terminated by the # character. Consider this example:
$ ./cecho.sh arg1 arg2 arg1 arg2 #
Here's a common problem:
- I have a list of elements in a file (one per line) to be provided to a command (say, cecho.sh). I need to apply the arguments in several styles. In the first method, I need one argument for each invocation, like this:
./cecho.sh arg1 ./cecho.sh arg2 ./cecho.sh arg3
- Next, I need to provide one or two arguments each for each execution of the command, ...