Как найти ключевое слово в файле и распечатать строку после ключевого слова? - PullRequest
0 голосов
/ 29 июля 2011

Я хочу найти ключевое слово «mykey =» в файле и распечатать строку, которая следует за ключевым словом. Я не могу сделать "grep", потому что каждая строка очень длинная. Я просто хочу извлечь строку после ключевого слова.

Ответы [ 3 ]

1 голос
/ 29 июля 2011

Вот что я придумал. Не первый, но работает и без окончательного grep.

grep 'mykey = ' file | sed 's/.*\(mykey = [A-Za-z]*\).*/\1/'
1 голос
/ 29 июля 2011

Предполагается, что ключевое слово - это одно слово, за которым следует пробел, например: mykey = myCoolValue

grep 'mykey' /your/file/here | sed -r 's/.*mykey = (^[ ]*) .*/\1/g' | grep .

0 голосов
/ 29 июля 2011

Если у вас есть pcregrep, вы можете выполнить эту команду в терминале или в скрипте, чтобы получить только желаемый текст после mykey =

$ pcregrep -o '(?<=mykey = ).+' file

Регулярное выражение использует положительный вид сзади, где -o возвращает только сопоставленный текст, а не всю строку.

...