1

我有一个脚本,它将要分析的文件列表作为参数。它可以是任意数量的文件。

$ ./myScript file1 file2 ... fileN

现在,我必须在大量文件(~30)上运行它,这些文件的路径可以很容易地被模式利用。有了find我可以一一找到它们并将脚本应用于每个脚本,但我想要的是全部获取并立即在所有脚本上运行脚本。

我该怎么办?

4

2 回答 2

4
find ... -exec ./myScript {} +

如果匹配项太多(即命令行变得太长),这可能会导致多次调用,但是在这种情况下您几乎无法避免多次调用(没有将模式本身作为参数传递给并在内部进行模式匹配)。myScriptmyScript

于 2013-05-15T08:22:22.627 回答
2

您是否尝试过使用 $() 将找到的参数列表放入数组中?

我以前用来javac -d . $(find . -name '*.java' -a ! -name '.*')编译一个目录下的所有java文件。

于 2013-05-15T08:24:40.510 回答