如何从命令 shell 执行递归查找和替换?

如何从命令 shell 执行递归查找和替换?

使用 bash 或 zshell 之类的 shell,如何进行递归“查找和替换”?换句话说,我想将此目录及其子目录中的所有文件中的每个“/path/to/folder”替换为“/other/dir”。

这个问题与这个名字的原始问题本质上是相同的,但我需要知道的是,如果您要替换的文本中有斜线(如上例所示),会发生什么情况?我可以将代码粘贴到查找/替换位置的参数中吗?还是我必须做其他事情???

所有这些都将通过 ssh 在 Ubuntu 服务器上完成。

谢谢!

答案1

使用findsed

find . exec sed -i .bak 's,/path/to/folder,/other/dir,g' \;
  • 您也可以使用awkperl代替sed- 选择您喜欢的任何内容。
  • 你可以传递选项来find限制你操作的文件&c

相关内容