我想匹配一行並使用sed命令替換它。像與一個詞匹配的unix sed命令
aaa = 10
aaa =10
aaa=10
我sed的正則表達式的一些東西應該匹配所有這些模式,應像BBB = 5取代。我試過
sed -i '/ *aaa *= */bbb=5'
但是,這並不適用於所有模式。任何幫助都將非常可觀。
我想匹配一行並使用sed命令替換它。像與一個詞匹配的unix sed命令
aaa = 10
aaa =10
aaa=10
我sed的正則表達式的一些東西應該匹配所有這些模式,應像BBB = 5取代。我試過
sed -i '/ *aaa *= */bbb=5'
但是,這並不適用於所有模式。任何幫助都將非常可觀。
sed -i 's/\s*aaa\s*=\s*[0-9]*/bbb=5/' input_file
cat myfile | sed 's/\s*aaa\s*=\s*\(.*\)/bbb = \1/'
的\ S字符類既標籤和空間
對於\ 1替換爲+1,對於UUOC爲-1。 – 2012-07-23 19:42:36
\ 1在某些發行版中需要sed選項-r – 2012-09-29 11:40:32
cat a | sed -e '1s/aaa =10/bbb=10/' -e '2s/ aaa =10/bbb=10/' -e '3s/aaa=10/bbb=10/'
應'sed的-i '/ * AAA * =。*/BBB = 5 /'' – 2012-07-23 19:01:21
第一匹配解決這類問題的一個步驟是準確地指定問題。解決方案几乎會立即生效。 (鑑於當前的問題規範,似乎用'bbb = 5'替換所有輸入行是可接受的解決方案。) – 2012-07-23 19:40:59