Re: [問題] 請問sed多個條件的問題?
※ 引述《roylee17 (把我id還我阿......)》之銘言:
: 可以'巢狀'地使用大括號'{}'來附加更多的條件
: $ cat input.txt
: aa
: bb
: cc
: dd
: cc
: $ sed -e '/aa/{ n; /bb/{ n; s/cc/zz/ } }' input.txt
: aa
: bb
: zz
: dd
: cc
謝謝這位前輩,原來可以巢狀,又學到一招了
但是我又發現了一個問題
那就是如果文件是這樣的
1. aa 123
2. bb,cc
3. aa 123
4. aa 123
而我的條件檔這樣寫
/aa/{
s/123/456/
n; /bb/{
s/cc/zz/
}
}
那麼在cc的地方確實會替換成zz
但是在第4行的aa 123,此處的123就不會被替換掉了
結果:
1. aa 456
2. bb,zz
3. aa 456
4. aa 123
我猜測是在第三行修改123完的時候
指針因為n參數的關係已經跳到下一行了
然後做完判斷bb又繼續往下一行去
所以跳過了第4行?
如果是這樣的話,請問有沒有方法可以讓指針往上跳?
謝謝執教 <( _ _ )>
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.152.187
※ 編輯: wansincere 來自: 60.251.152.187 (08/24 17:30)
討論串 (同標題文章)
Linux 近期熱門文章
21
56
PTT數位生活區 即時熱門文章