題 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