Я бачу безліч прикладів та довідкових сторінок про те, як робити такі речі, як пошук і заміна за допомогою sed, awk або gawk.
Але в моєму випадку у мене є регулярний вираз, що я хочу зіткнутися з текстовим файлом, щоб отримати певне значення. Я не хочу займатися пошуком і заміною. Це називається з баш. Давайте скористаємося прикладом:
Приклад регулярного вираження:
.*abc([0-9]+)xyz.*
Приклад вхідного файлу:
a
b
c
abc12345xyz
a
b
c
Як це просто звучить, я не можу зрозуміти, як правильно викликати sed / awk / gawk. Що я сподівався зробити, це з мого баш сценарію:
myvalue=$( sed <...something...> input.txt )
Я спробував:
sed -e 's/.*([0-9]).*/\\1/g' example.txt # extracts the entire input file
sed -n 's/.*([0-9]).*/\\1/g' example.txt # extracts nothing