Как получить текст из определенной позиции строки с помощью grep? - PullRequest
0 голосов
/ 07 июня 2018

Я просто хочу получить текст с помощью grep из определенной позиции строки.Например, есть текст, который появляется с циклом while (cat file.txt | while read i; do):

Hello, how are you today?

Как мне поступить, если я просто хочу получить все в правой части текста после определенной строки?(Если я выберу how, получу how are you today?).

Пока и спасибо.

Ответы [ 2 ]

0 голосов
/ 07 июня 2018

Вы можете использовать sed для этого

$ cat file.txt
Hello, how are you?
$ sed -r "s/^.+(how.+)$/\1/" file.txt
how are you?
$

этот sed regex используется для привязки текста, с которого вы хотите начать, - в этом случае, слова «как» и завершается, когда он находит конецлиния.

0 голосов
/ 07 июня 2018

Используйте регулярное выражение, которое соответствует указанной строке, за которой следует что-либо, и параметр -o для grep, поэтому он возвращает только ту часть строки, которая соответствует:

grep -o 'how.*' file.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...