gpt4 book ai didi

linux - 使用 grep 查找每个包含所有搜索字符串的行

转载 作者:太空狗 更新时间:2023-10-29 11:04:34 25 4
gpt4 key购买 nike

我有一个文件,其中包含很多与此类似的行:

{"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'

我尝试按照上面的方法进行操作,已编辑:它确实有效,但还不足以带来所有必要的数据。我的意思是,搜索结果中缺少数据。 :(

按照 grep 'word' filename 的想法,它是可行的,但是在堆积如山的数据中只有一个词是不够的。那么,如何传递多个“单词”来匹配我真正想要的呢?我真正想要的是同时使用 grep 按“ID”、“*some_model*”和“account”进行搜索。

我如何进行搜索以将所有可能的行与提示中的参数相匹配?这更像是一个疑问,是否可以使用 ifelse o while 之类的条件也可以与 grep 结合使用?

如果问题不清楚,请让我知道更正。感谢大家。

最佳答案

你可以使用 sed:

sed '/string1/!d; /string2/!d; /string3/!d; /string4/!d' filename

这将只生成以任意顺序包含所有字符串的行。

同样的事情使用 awk:

awk '/string1/ && /string2/ && /string3/ && /string4/' filename

关于linux - 使用 grep 查找每个包含所有搜索字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22883906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com