我有一个管道分隔文件,如下所示:
34ab1 | aaa bbb ccc fff vf | 2015-01-01
35ab1 | aaa bbb ccc dddefd ddff ssss fff vi | 2015-01-01
我想替换以bbb开头并以fff结尾的所有内容。
我用过这个:
BEGIN {
FS = OFS = "|"
}
{
sub(/[0-9].*[0-9]/, "", $2); sub(/bbb.*fff/, "", $2);
print
}
数字的正则表达式部分有效,但正则表达式的第二部分没有。
我希望输出:
34ab1 | aaa vf | 2015-01-01
35ab1 | aaa vi | 2015-01-01
答案 0 :(得分:2)
对两者使用单个gsub函数。
BEGIN {
FS = OFS = "|"
}
{
gsub(/[0-9].*[0-9]|bbb.*fff/, "", $2);
print
}