確定這是讓我發瘋僅更換一個領域。慶典:如何在兩行有在該領域相同內容
我已經冒號隔開4個字段的文件。我試圖只用一個變量替換最後一個字段。但問題是當兩行有相同的內容,那麼他們都會改變。我想我是否可以提供一個關於我想改變哪條線的參考。換句話說,如果第一個領域是R2則取代其最後一場
文件:
R1:name1:date1:black
R2:name2:date2:black
我希望它是這樣
R1:name1:date1:black
R2:name2:date2:black2
這裏是我到目前爲止
變量已經分配的第四場。名稱已被分配給用戶輸入名稱的zenity文本框。
variable=$(awk -F ":" '$2 ~ /'"$name"'/ {print $4}' file)
sed -i 's/'$variable'/black2/g' file
在此先感謝。
爲什麼要它不會改變兩條線? –
你有'/ g'(全局替換)在你的sed中。它取代了sed查找的所有值。沒有'g',只有第一場比賽會被取代。這可以嗎? –
,因爲它不是相同的。 – scott