// Solaris
1. find ./ -name "*.jar" -exec jar -tvf {} /;
For each file found from 'find' command, it will invoke a new process space to run 'tar -tvf ...'.
2. find ./ -name "*.jar" | xargs jar -tvf
把find的输出结果, 分批送给'jar -tvf' 执行
如果find出来两个文件(lib/a.jar, lib/b.jar), 那么上述命令相当于 jar -tvf lib/a.jar lib/b.jar
3. find ./ -name "*.jar" | xargs -t -I {} jar -tvf {}
find ./ -name "*.jar" | xargs -t -I {} mv {} {}.bak
-t 选项指示 xargs 先打印命令,然后再执行。
-i 选项告诉 xargs 用每项的名称替换 {}
// -I 每一行的输出都要执行jar的命令, 即每个发现的文件执行一次。
-I replstr Insert mode. utility is executed for each
line from standard input, taking the entire
line as a single argument, inserting it in
argument s for each occurrence of replstr. A
maximum of five arguments in arguments can
each contain one or more instances of
replstr. Any blank characters at the begin-
ning of each line are ignored. Constructed
arguments cannot grow larger than 255 bytes.
Option -x is forced on. The -I and -i
options are mutually exclusive; the last one
specified takes effect.