Как использовать sed или awk для извлечения подстроки - PullRequest
0 голосов
/ 18 октября 2018

У меня есть файл, который содержит следующее:

[class:ABC_DEF_GHI]
[class:ABC_DEF_GHI:app:ABC_DEF_GHI]

Моя цель - извлечь ABC_DEF_GHI

Вот сценарий, который я пытаюсь написать до сих пор.

eval sed -n 's/.*app://p' file.txt >> $file

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

с sed

$ sed -E 's/.*:(.+)]/\1/' file
ABC_DEF_GHI
ABC_DEF_GHI

извлекает содержимое между двоеточием и правой квадратной скобкой, так как из-за жадного совпадения это будет последнее двоеточие.

0 голосов
/ 18 октября 2018

Вы можете получить это значение, используя несколько разделителей в awk:

awk  -F':|]' '{print $2}' $file
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...