查找并替换以模式开头的行

2024-02-28

我在文件 file.txt 中有这样的文本

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
a    b   c // delimited by tab
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

我知道使用sed我可以查找并替换文件中的文本。如果一行以 b 开头(由制表符分隔),我需要将其替换为 def。所以上面的文件将是

xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx
d    e   f // delimited by tab
xxxxxxxxxxxxxxx
xxxxxxxxxxxxxxx

我可以这样做来查找和替换,我只想要那些行以 b 开头的实例并替换整行。

sed -i 's/a/\t/\b/\t\/c/REPLACED TEXT/g' file.TXT

Use a ^表示行开头的符号:

sed -i 's/^a\tb.*$/REPLACED TEXT/g' file.TXT

解释:

  • ^ means 行首/输入
  • \t means 制表符
  • . means 任何字符
  • * means 零个或多个前面的表达式
  • $ means 行尾/输入
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找并替换以模式开头的行 的相关文章

随机推荐