我想用awk,grep或sed创建一个批处理文件,使所有行以“INSERT”开头并删除其他行。
在此之后,当处理行中的第3个单词为“donextsit”时,我想用“servicechange”替换字符串“change”。
有人可以解释一下如何做到这一点吗?
答案 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的建议。