我使用sed
查找和替換文本,例如:如何查找和替換每場比賽除了第一個使用SED?
set -i 's/a/b/g' ./file.txt
這取代的a
每個實例與文件中b
。我需要添加一個例外,這樣sed
取代的a
每個實例有b
,除了文件中的第一次亮相,如:
There lived a bird who liked to eat fish.
One day he fly to a tree.
這將成爲:
There lived a bird who liked to ebt fish.
One dby he fly to b tree.
如何修改我sed
腳本只與b
取代的a
每個實例,除了第一次出現?
我已經GNU的sed版本4.2.1。
如果一行僅包含'baa'會怎麼樣? – potong
@potong:你說的對,我錯過了。 – Thor
你的方法仍然有效,但你必須首先使用一個獨特的字符,即'sed'y/a/\ n /; s/\ n/a /; y/\ n/b /'文件' – potong