我有一个文件,其中包含很多与此类似的行:
{"id": 2796, "some_model": "Profile", "message_type": "MODEL_SAVE", "fields": {"account": 14, "address": null, "modification_timestamp": "2014-03-19T10:46:33.543Z", "was_deleted": false}}
但后来我想找到所有包含我想要的相应行的一些片段的行。将在上面的示例行中应用的示例是:
~$ grep '2796' file.log | grep 'Profile' | grep 'another_more' | grep 'so_on'
我尝试按照上面的方法做,EDITED:它确实有效,但不足以带来所有必要的数据。我的意思是,搜索结果中缺少数据。 :(
遵循以下想法grep 'word' filename
它确实有效,但在海量数据中仅用一个词是不够的。那么,如何传递多个“单词”来匹配我真正想要的内容?我真正想要的是通过 'ID'、'*some_model*' 和 'account' 同时使用 grep 。
如何进行搜索以将所有可能的行与提示中的这些参数相匹配?
这更像是一个疑问,是否可以使用类似的条件if
and else
o while
是否也与 grep 结合使用?
如果问题不清楚,请让我知道以纠正它。
谢谢大家。
你可以使用sed
:
sed '/string1/!d; /string2/!d; /string3/!d; /string4/!d' filename
这将仅生成包含任意顺序的所有字符串的行。
同样的事情使用awk
:
awk '/string1/ && /string2/ && /string3/ && /string4/' filename
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)