使用多个命令的find-exec

14 浏览
0 Comments

使用多个命令的find-exec

我试图使用find -exec多个命令,但一直没有成功。有人知道是否可能像以下命令一样执行?

find *.txt -exec echo "$(tail -1 '{}'),$(ls '{}')" \;

基本上,我正在尝试打印当前目录中每个txt文件的最后一行,并在行末打印一个逗号,后跟文件名。

admin 更改状态以发布 2023年5月22日
0
0 Comments
find . -type d -exec sh -c "echo -n {}; echo -n ' x '; echo {}" \;

(原文)

0
0 Comments

find命令可以接受多个-exec指令。例如:

find . -name "*.txt" -exec echo {} \; -exec grep banana {} \;

需要注意的是,如果第一个指令返回成功,则第二个指令才会运行,如@Caleb所述。如果你想让两个指令无论成功与否都运行,可以使用以下结构:

find . -name "*.txt" \( -exec echo {} \; -o -exec true \; \) -exec grep banana {} \;

0