的意义是什么 {} \;在find -exec sed中

时间:2013-12-10 06:52:13

标签: sed

给出了两个sed的例子。

sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt

这对我来说很容易理解。

但是这个:

$ find /home/bruno/old-friends -type f -exec sed -i 's/ugly/beautiful/g' {} \;

为什么{} \;在第二个中很重要?这有什么意义和意义? 我假设`;'是为-exec。但为什么要逃脱,括号是什么意思呢?他们可以想象与C函数的范围相似吗?

1 个答案:

答案 0 :(得分:7)

sed实际上不是find,而是find。该行告诉sed找到匹配的文件,并在找到它们时执行{}sed\;命令行上的文件名,sed标记find命令行的结尾。 (理论上,您可以继续执行其他sed操作;只有0返回find时才会发生这种情况。)

因此,如果/home/foo/bar找到文件sed,则{{1}}命令行将

sed -i 's/ugly/beautiful/g' /home/foo/bar