我有一个脚本,它将要分析的文件列表作为参数。它可以是任意数量的文件。
$ ./myScript file1 file2 ... fileN
现在,我必须在大量文件(~30)上运行它,其路径可以很容易地用模式来利用。使用find
我可以逐个找到它们并在每个脚本上应用脚本,但我想要的是将它们全部带走并运行脚本对所有这些< / strong>立刻。
我应该怎么做?
答案 0 :(得分:4)
find ... -exec ./myScript {} +
如果匹配太多(即命令行太长),可能会导致对myScript
的多次调用,但是你几乎无法避免多次无论如何调用那个案例(没有将模式本身作为参数传递给myScript
并在内部进行模式匹配。)
答案 1 :(得分:2)
您是否尝试过使用$()将已找到的参数列表放入数组中?
我曾经使用javac -d . $(find . -name '*.java' -a ! -name '.*')
来编译目录中的所有java文件。