我在文件 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(使用前将#替换为@)