Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix Grep文件中每行的最后N个字符_Unix_Awk_Sed_Grep_Tail - Fatal编程技术网

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

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

我有一个有数百万行的文件,每行都以一种格式结尾,比如“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 $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