如何对目录内与模式匹配的每个文件运行命令?

如何对目录内与模式匹配的每个文件运行命令?

我正在尝试对目录内与模式匹配的每个文件(递归)运行命令。但是,我需要与命令匹配的每个项目的文件名。这是我目前所取得的成果:

find . -name '*.jar'

这给了我所有我感兴趣的文件。现在,我需要对所有这些文件运行以下命令:

jarsigner -keystore ***** -storepass ****** $FILENAMEHERE

对于该命令,如何引用 find 输出中的各个项目?

答案1

如果jarsigner一次只接受一个文件名,则使用

find . -iname '*.jar' | xargs -l jarsigner -keystore ***** -storepass ******

或者

find . -iname '*.jar' -exec jarsigner -keystore ***** -storepass ***** {} \;

相关内容