如果该行匹配字符串,则替换整行(Solaris#!/ usr / xpg4 / bin / sh)

时间:2016-03-15 15:44:15

标签: shell sed sh solaris solaris-10

我有一个文本文件,其中包含类似

的特定行
sometext sometext sometext SEARCHED sometext sometext sometext

我需要用

替换上面的整行
modified due to security issue 

如果在上面一行中找到SEARCHED

我需要为此编写一个shell脚本。如何使用sed为solaris#!/ usr / xpg4 / bin / sh shell实现此目的?

2 个答案:

答案 0 :(得分:0)

这是一个awk版本:

nawk '/SEARCHED/ {
    print "modified due to security issue";next}
    1' file > file.patched

答案 1 :(得分:0)

如果要编辑原始文件,请使用ed

# I do not know if your shell supports <<<
ed -s textfile <<< $',s/.*SEARCHED.*/modified due to security issue/g\nw'

当您无法使用上述解决方案时,请使用以下几行:

ed -s textfile << EOF
,s/SEARCHED/modified due to security issue/g
w
q
EOF