如何打印查找匹配以及运行 -exec

Aar*_*ron 3 bash find

我想find在每场比赛中运行一个然后执行一个脚本;但是,我想在每个exec. 我怎样才能产生以下输出:

$ find . -name 'something' -exec sh script.sh {} \;
./something_1
output from 
script.sh something_1
./something_2
output from
script.sh something_2
Run Code Online (Sandbox Code Playgroud)

我目前只从script.sh. 我试过-exec echo {} && sh script.sh {} \;没有成功。

我更喜欢使用-execor的解决方案xargs -print0,即不容易出现空白问题。

Mik*_*kel 8

find 如果您不指定任何其他操作,则默认打印所有匹配的文件。

当您这样做时-exec ...,它会替换-print.

当你把两个动作放在一起时,这意味着AND

所以只做两个:

$ find . -name 'something' -print -exec sh script.sh {} \;
Run Code Online (Sandbox Code Playgroud)