Как я могу получить все «clid's», у которых есть «client_type = 0»? Труба char "|" разделяет каждую информацию клиента. Текст, который у меня есть только одна строка:Сценарий оболочки Linux: как совместить подстроку с регулярным выражением
CLID = 2 чид = 3346 client_database_id = 5153 client_nickname = xLukas \ s \ р \ sLukas client_type = 0 | CLID = 3 чид = 3346 client_database_id = 1 client_nickname = питание \ SBY \ sMirWayne.DE client_type = 1 | CLID = 4 чид = 3346 client_database_id = 9661 client_nickname = число \ Сона client_type = 0 | CLID = 5 чид = 3469 client_database_id = 1 client_nickname = питание \ 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 = 4351client_nickname = pr0zkillz1x \ pTobi client_type = 0 | CLID = 9 чид = 1764 client_database_id = 5160 client_nickname = xL1mited \ s/\ Smax client_type = 0 | CLID = 10 чид = 1716 client_database_id = 9704 client_nickname = Sebi client_type = 0 | CLID = 13 чид = 3346 client_database_id = 4336 client_nickname = checker284 \ с \ р \ sSebbo client_type = 0 | CLID = 19 чид = тысяча семьсот шестьдесят-дв client_database_id = 9312 client_nickname = pr0skillz1x \ pDanie client_type = 0 | CLID = 30 чид = 3346 client_database_id = 9697 client_nickname = TeamSpeakUser client_type = 0 | CLID = 33 чид = 1716 client_database_id = 1 client_nickname = ServerAdmin client_type = 1
Мне нужен alle clid's, который имеет 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]+"
Может кто-нибудь помочь?
'cat' файл в Grep? Конечно, ты шутишь! 'grep ... clientlist.txt | ... 'экономит около миллиарда циклов процессора за вызов. – Jens
Что лучше? Я бы использовал каждое рабочее решение, но в настоящее время у меня нет. – user2966991
Лучше избегать бесполезной кошки и бесполезной трубы. Вы не ездите с задействованными тормозами, или вы? – Jens