gpt4 book ai didi

shell - Grep 提取匹配给定模式的单词

转载 作者:行者123 更新时间:2023-12-04 23:54:44 26 4
gpt4 key购买 nike

我有一个日志文件,其中包含类似的条目

INFO 2013-08-16 13:46:48,660 Index=abc:12 insertTotal=11  
INFO 2013-08-16 13:46:48,660 Index=abcd:12 insertTotal=11
INFO 2013-08-16 13:46:48,660 Index=def:134 insertTotal=11
INFO 2013-08-16 13:46:48,660 Index=abkfe insertTotal=11
INFO 2013-08-16 13:46:48,660 Index=lmkfe insertTotal=11
INFO 2013-08-16 13:46:48,660 Index=lmkfe insertTotal=11

我想 grep 并提取与我的模式匹配的单词 abc:<some_number>def:<some_number> .
$ cat "log.txt" | grep -w "abc" -w "def" >> "failed_values.txt";

所以在这种情况下,我的 failed_values.txt应该只有
abc:12
def:134

需要注意的关键是我的模式以 : 结尾后跟一个数字,然后是一个空格 e。 G。 abc:122 .

最佳答案

尝试以下操作:

$ grep  -Eio '[a-z]+:[0-9]+' log.txt 
abc:12
abcd:12
def:134
  • -i忽略大小写。
  • -o只打印匹配的部分。

  • 更新

    仅匹配 abc/ def :
    $ grep  -Eio '\b(abc|def):[0-9]+\b' log.txt 
    abc:12
    def:134
  • (abc|def): : 匹配 abc或(|) def其次是 : .
  • [0-9]+ : 匹配的数字。
  • \b : 匹配词边界
  • 关于shell - Grep 提取匹配给定模式的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18328777/

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