输入文件
1. blue is color
2. His shirt color is blue and it is good
3. deep blue see is a movie
输出:
1. blue is color
2. blue and it is good
3. blue see is a movie
我需要使用awk或cut从unix中的特定单词到最后一列的输出。
awk 'BEGIN{FS="\\<blue\\>"; OFS="blue"}{$1=""}7' file
上面的行将输出:
kent$ awk 'BEGIN{FS="\\<blue\\>"; OFS="blue"}{$1=""}7' file
blue is color
blue and it is good
blue see is a movie
请注意,这"\\<blue\\>"
将完全匹配 word blue
,而不是bluesky or darkblue
我希望这是您想要的。
sed的代码:
$ sed -r 's/^([0-9]+. ).* (蓝色)\b/\1\2/' 文件 1. 蓝色是颜色 2.蓝色,很好 3.蓝看是电影
这是一个很常见的用例,
cat test.txt | awk '{ if (x=index($0,"blue")) { print substr($0,x,length($0)); } }'
在 Perl 中:
perl -nle'/(blue.*)/&&print"$1\n"'