簡體   English   中英

你如何用sed替換匹配的第一行?

[英]How do you replace the first line that of a match with sed?

我目前正在嘗試替換以下文件中的行:

Music_location = /home/music
Music_location = /home/music
Pictures = /home/pictures

我怎么只更換第一個“/ home / music”而不說它是什么線? 謝謝!

使用awk你可以這樣做:

awk '!p{sub(/\/home\/music/, "/foo/bar"); p=1} 1' file
Music_location = /foo/bar
Music_location = /home/music
Pictures = /home/pictures

在sed中:

sed '0,/home\/music/s_/home/music_/foo/bar_' foo.txt

這從第0行開始,在找到/ home / music時停止,然后用/ foo / bar替換/ home / music。 在“s_ / home / music_ / foo / bar_”部分中,我將正常分隔符(斜杠)更改為下划線,以便我可以在正則表達式中使用斜杠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM