Grep文件中每行的最后N个字符

时间:2014-12-25 09:03:27

标签: unix awk sed grep tail

我有一个包含数百万行的文件。每行以一个格式结尾说“XXX:某个值”..我只想从每行grep这个单词“XXX:some value”并将其单独放入file.How我可以用grep命令实现这个吗?

PS:“某些值”可以是任何字符串

3 个答案:

答案 0 :(得分:4)

使用awk获取每行的最后n个字符:

cat file
asdf
asdfg
asdfgh

awk -vn=2 '{print substr($0,length($0)-n+1)}'
df
fg
gh

或者您希望在XXX之后获取数据,然后执行:

echo "here is my line XXX:22" | awk -F"XXX:" '{print $2}'
22

答案 1 :(得分:2)

使用-o标志:

grep -o 'XXX:.*' <input >output

答案 2 :(得分:0)

您可以使用grep,如下所示:

grep -ow 'XXX:some value' myfile.txt > patternMatched.txt