Вопрос SED: Как я могу напечатать каждую строку после первого экземпляра строки, используя Sed?


У меня есть файл с аналогичным форматом ...

16:28 asdfasdf
16:29 4398upte
16:30 34liuthr
16:31 34tertio

Как я могу использовать SED для распечатки каждой строки, включая и после строки с «16:30»?

Результатом будет ...

16:30 34liuthr
16:31 34tertio

Прямо сейчас, я использую sed следующим образом, но мне нужно вручную найти номер строки первой строки, например. "562697":

sed -n '562697,$p'

4
2018-03-06 22:42


происхождения




ответы:


Адреса в sed могут быть номерами строк или шаблонами. Попробуй это:

sed -n '/16:30/,$p'

Если шаблон содержит /, вы можете избежать этого с помощью \, Например, для поиска 16/30 вместо 16:30, попробуй это:

sed -n '/16\/30/,$p'

7
2018-03-06 22:48



Что делать, если мне нужно было искать 16/30? Я не уверен, как изменить синтаксис в этом случае. Благодаря! - barrrista
@barrrista Я отредактировал свой ответ, чтобы показать, как избежать символа с обратной косой чертой. Надеюсь это поможет. - Nicole Hamilton


Используйте регулярное выражение в адресе:

sed -n '/^16:30/,$p'

или

sed '/^16:30/,$!d'

5
2018-03-06 22:47