比如:
test 1
aaaaatest 2
test 3
tesbbbbbtest test 4
每行去掉test前面所有字符之后,输出:
test 1
test 2
test 3
test test 4
处理:
awk -F'test' -vOFS="test" '{$1="";$1=$1}1' file
awk '{match($0,"test");print substr($0,RSTART)}' file
解析:
这两种处理方法都很好,第一种是利用test作为分隔符,然后把第一个字段赋值为空,也是就是第一个test前面的字符。同时,输出的字段的分隔符还必须是test字符串。
第二种方法的话首先查找到test字符串的位置,然后这时候RSTART的变量的值就是test的开始的位置,而后利用substr函数从此处开始到结束位置。