[英]Extract part of text using bash on a large file
我有一个巨大的日志文件,我想在其中提取部分日志,如下所示:
----不需要文本--- yValues:10 zValues:1254 ----不需要文本---
----不需要文本--- yValues:10 zValues:1254 ----不需要文本---
----不需要文本--- yValues:10 zValues:1254 ----不需要文本---
....
这是一个巨大的文件,并且这个 yValues 和 zValues 在整个过程中都是重复的。
打开文件很慢,所以我试图只提取这部分文本。
如果我执行 grep yValues,它仍然给出整行,因此保存的文件仍然是一个大文件。
如何使用 bash 完成此操作?
grep
有一个-o
/ --only-matching
选项来做你想做的事:
$ grep --only-matching 'yValues:[0-9]\+' <<EOF
----TEXT NOT NEEDED--- yValues:10 zValues:1254 ----TEXT NOT NEEDED---
----TEXT NOT NEEDED--- yValues:10 zValues:1254 ----TEXT NOT NEEDED---
----TEXT NOT NEEDED--- yValues:10 zValues:1254 ----TEXT NOT NEEDED---
EOF
yValues:10
yValues:10
yValues:10
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.