我有一个包含
等行的大文件INSERT INTO mytable (),()...
我只想用
替换以INSERT INTO mytable
开头的那些行
/* INSERT INTO mytable (),()... */
我知道有很多可能性,包括良好的vim搜索替换宏,但我想在命令行中进行。
答案 0 :(得分:1)
试试这个sed one-liner:
sed 's#^INSERT INTO mytable.*#/* & */#' file
答案 1 :(得分:1)
这是awk版本:
awk '{ gsub("^(INSERT.*)","/* & */"); print $0 }'
这假设INSERT是该行的第一个字符。如果可以有前导空格,请改用:
awk '{ gsub("^([[:space:]]*INSERT.*)","/* & */"); print $0 }'
这也适用于非GNU awk。我在Linux和AIX上测试过。