[問題] Sed改名字

作者: zyxwvoklove ( )   2015-02-06 18:11:42
小弟不才
又來問有關於bash的問題
這次是sed
我有一個檔案
其中一行
file='/Users/zyxwv/20140909/sloan/onempc/plusrz/XMMXCSJ0016.6-0102'
這個樣子
其中 XMMXCSJ0016.6-0102
想要取代成 XMMXCSJ0023.2+0012
於是找sed
指令像是這樣
sed -i 's/XMMXCSJ0016.6-0102/XMMXCSJ0023.2+0012/' XMMXCSJ0023.2+0012
可是檔案裡面還是顯示XMMXCSJ0016.6-0102
無論我寫這樣
sed -i 's/XMMXCSJ0016.6-0102/XMMXCSJ0023.2+0012/g' XMMXCSJ0023.2+0012
還是
sed -i.bu 's/XMMXCSJ0016.6-0102/XMMXCSJ0023.2+0012/g' XMMXCSJ0023.2+0012
或者
sed -i '' 's/XMMXCSJ0016.6-0102/XMMXCSJ0023.2+0012/g' XMMXCSJ0023.2+0012
最終
sed -i "" 's/XMMXCSJ0016.6-0102/XMMXCSJ0023.2+0012/g' XMMXCSJ0023.2+0012
就是沒有變動到
想請問各位 是哪兒出了問題 謝謝
作者: stimim (qqaa)   2015-02-06 18:52:00
最後面不是應該要放被修改的檔案嗎?sed -i 's/pattern/replacement' file_to_edit
作者: zyxwvoklove ( )   2015-02-06 19:43:00
有啊 就是XMMXCSJ0023.2+0012 他是檔名
作者: kenduest (小州)   2015-02-06 23:55:00
你操作的系統是 linux 系統嗎?依據你畫面來看好像是 mac os ?mac os x 的 sed,-i 後面要給一個備份檔案名稱sed -i myfile.bak 's/aaa/bbb/' myfile
作者: zyxwvoklove ( )   2015-02-07 01:07:00
mac會導致不同這樣呀...

Links booklink

Contact Us: admin [ a t ] ucptt.com