【问题标题】:grep and sed - replace all instances of a stringgrep 和 sed - 替换字符串的所有实例
【发布时间】:2012-03-06 15:01:06
【问题描述】:

我有一个 bash 脚本,我正在为文件路径编写 greps。我希望能够使用 grep 的输出将旧文件路径的每个实例替换为新文件路径。

例子:

grep -R "/~test/dev/portal" .

我希望能够将此输出通过管道传输到 sed 中,以将“/~test/dev/portal/”的每个实例替换为“/apps/portal/”(请记住,grep 的输出通常更多一个文件)

提前致谢!

【问题讨论】:

  • 检查 ServerFault 以获得此类答案。

标签: bash sed grep


【解决方案1】:
grep -ZlR "/~test/dev/portal" . | xargs -0 -l1 sed -i 's:/~test/dev/portal/:/apps/portal/:g'

【讨论】:

  • grep -Z | xargs -0 以防万一
  • 丹尼斯,好论据!我什至没有考虑过为此使用它们(我想我必须更多地研究手册页)。 grep -ZlR "/~test/dev/portal" . | xargs -0 -l1 sed -i 's:/~test/dev/portal/:/apps/portal/:g'
猜你喜欢
  • 2014-01-13
  • 2018-02-24
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 2021-08-16
  • 1970-01-01
  • 2013-04-01
  • 2011-09-29
相关资源
最近更新 更多