gpt4 book ai didi

regex - Linux shell 脚本 : How to match substring with regex

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:21:53 24 4
gpt4 key购买 nike

如何获得所有具有“client_type=0”的“clid”?管道字符“|”分隔每个客户信息。我的文本只有一行:

clid=2 cid=3346 client_database_id=5153 client_nickname=xLukas\s\p\sLukas client_type=0|clid=3 cid=3346 client_database_id=1 client_nickname=powered\sby\sMirWayne.DE client_type=1|clid=4 cid=3346 client_database_id=9661 client_nickname=Number\sone client_type=0|clid=5 cid=3469 client_database_id=1 client_nickname=powered\sby\sMirWayne client_type=1|clid=6 cid=1716 client_database_id=1 client_nickname=FG\sBot client_type=1|clid=7 cid=3469 client_database_id=9661 client_nickname=Number\stwo client_type=0|clid=8 cid=1762 client_database_id=4351 client_nickname=pr0zkillz1x\pTobi client_type=0|clid=9 cid=1764 client_database_id=5160 client_nickname=xL1mited\s/\sMax client_type=0|clid=10 cid=1716 client_database_id=9704 client_nickname=Sebi client_type=0|clid=13 cid=3346 client_database_id=4336 client_nickname=checker284\s\p\sSebbo client_type=0|clid=19 cid=1762 client_database_id=9312 client_nickname=pr0skillz1x\pDanie client_type=0|clid=30 cid=3346 client_database_id=9697 client_nickname=TeamSpeakUser client_type=0|clid=33 cid=1716 client_database_id=1 client_nickname=serveradmin client_type=1

我需要 alle clid,它在一个额外的行中有 client_type=0。比如像这样:

    clid=2
clid=3
clid=4
clid=5
...

我当前的解决方案不起作用:

    cat clientlist.txt | grep -Eo "clid=[0-9]+[\d\D]*client_type=0" | grep -Eo "clid=[0-9]+"

有人可以帮忙吗?

最佳答案

The pipe char "|" seperates each client info.

利用这些信息,你可以说:

tr '|' '\n' < clientlist.txt | grep -Po 'clid=\d+(?=.*client_type=0)'

对于您的输入,它会产生:

clid=2
clid=4
clid=7
clid=8
clid=9
clid=10
clid=13
clid=19
clid=30

关于regex - Linux shell 脚本 : How to match substring with regex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20260795/

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