我目前正在尝试替换以下文件中的行:
Music_location = /home/music
Music_location = /home/music
Pictures = /home/pictures
我如何只替换第一个" / home / music"不说它是什么线? 谢谢!
答案 0 :(得分:2)
使用awk你可以这样做:
awk '!p{sub(/\/home\/music/, "/foo/bar"); p=1} 1' file
Music_location = /foo/bar
Music_location = /home/music
Pictures = /home/pictures
答案 1 :(得分:1)
在sed:
sed '0,/home\/music/s_/home/music_/foo/bar_' foo.txt
这从第0行开始,在找到/ home / music时停止,然后用/ foo / bar替换/ home / music。在" s_ / home / music_ / foo / bar _"部分,我已经将正常分隔符,斜杠更改为下划线,以便我可以在正则表达式中使用斜杠。