Unix Grep文件中每行的最后N个字符
我有一个有数百万行的文件,每行都以一种格式结尾,比如“XXX:some value”。。我只想从每一行grep这个单词“XXX:somevalue”,并将它放在一个单独的文件中。我如何使用grep命令实现这一点Unix Grep文件中每行的最后N个字符,unix,awk,sed,grep,tail,Unix,Awk,Sed,Grep,Tail,我有一个有数百万行的文件,每行都以一种格式结尾,比如“XXX:some value”。。我只想从每一行grep这个单词“XXX:somevalue”,并将它放在一个单独的文件中。我如何使用grep命令实现这一点 PS:“某些值”可以是任何字符串,以使用awk获取每行的最后n个字符: cat file asdf asdfg asdfgh 或者您想在XXX之后获取数据,然后执行以下操作: echo "here is my line XXX:22" | awk -F"XXX:" '{print
PS:“某些值”可以是任何字符串,以使用awk获取每行的最后n个字符:
cat file
asdf
asdfg
asdfgh
或者您想在
XXX
之后获取数据,然后执行以下操作:
echo "here is my line XXX:22" | awk -F"XXX:" '{print $2}'
22
您可以按如下方式使用grep:
grep -ow 'XXX:some value' myfile.txt > patternMatched.txt
使用
-o
标志:
grep -o 'XXX:.*' <input >output
grep-o'XXX:.*'输出
除了作为一项智力练习外,您能给出一个不使用perl或python完成此类任务的好理由吗?例如,perl-ne'/.*:(.*)$/并打印“$1\n”
。你能提供一个例子吗?我想some value
可以是任何数字/信息,不仅仅是文本some value
我不确定,而且在OP的帖子中没有看到,但如果是这样,OP也可以使用regex。无论如何,我认为上面的内容可以根据OP的输入进行精确匹配。“某些值可以是任何字符串”@Karthik207仍然有效。“某些值”可以是任何字符串。@Karthik207很好,因为*
将匹配任何字符串。您确定没有将此响应与?awk-vn=2'{print substr($0,length($0)-n+1)}'中的文件名在哪里?非常感谢!
grep -o 'XXX:.*' <input >output