使用AWK处理文件

时间:2010-04-01 13:26:59

标签: sed awk grep

我想用awk,grep或sed创建一个批处理文件,使所有行以“INSERT”开头并删除其他行。

在此之后,当处理行中的第3个单词为“donextsit”时,我想用“servicechange”替换字符串“change”。

有人可以解释一下如何做到这一点吗?

2 个答案:

答案 0 :(得分:1)

awk '/INSERT/{ 
    if ($3=="donextsit"){
       gsub("change","servicechange");
       print
    }
}' file

因为这是家庭作业,所以仍然无法正常工作......你应该自己找出来

答案 1 :(得分:0)

sed '
    /^INSERT/ ! d;
    /^ *[^ ]\+ *[^ ]\+ *donextsit / s/change)/servicechange)/g;
' -i file

编辑:纳入Jonathan Leffler的建议。