给出两个sed的例子.
sed -i 's/ugly/beautiful/g' /home/bruno/old-friends/sue.txt
Run Code Online (Sandbox Code Playgroud)
这对我来说很容易理解.
但是这个:
$ find /home/bruno/old-friends -type f -exec sed -i 's/ugly/beautiful/g' {} \;
Run Code Online (Sandbox Code Playgroud)
为什么{} \;在第二个中很重要?这有什么意义和意义?我假设`;' 是为-exec.但为什么要逃脱,括号是什么意思呢?可以想象它们与C函数的范围相似吗?
这实际上不是为了sed,它是为了find.该行告诉find找到匹配的文件,当它找到它们时,执行sed.的{}是,其中的文件名将是上sed的命令行,和\;标记的的结束sed命令行.(理论上你可以继续其他find行动;只有在sed返回时才会发生0.)
因此,如果find找到该文件/home/foo/bar,sed命令行将是
sed -i 's/ugly/beautiful/g' /home/foo/bar
| 归档时间: |
|
| 查看次数: |
376 次 |
| 最近记录: |