Sed改名字 - Linux

Table of Contents

小弟不才
又來問有關於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


就是沒有變動到
想請問各位 是哪兒出了問題 謝謝

--

All Comments

Olive avatarOlive2015-02-11
最後面不是應該要放被修改的檔案嗎?
Cara avatarCara2015-02-13
sed -i 's/pattern/replacement' file_to_edit
Annie avatarAnnie2015-02-17
有啊 就是XMMXCSJ0023.2+0012 他是檔名
John avatarJohn2015-02-18
你操作的系統是 linux 系統嗎?
Ina avatarIna2015-02-21
依據你畫面來看好像是 mac os ?
Elma avatarElma2015-02-25
mac os x 的 sed,-i 後面要給一個備份檔案名稱
George avatarGeorge2015-02-25
sed -i myfile.bak 's/aaa/bbb/' myfile
Emily avatarEmily2015-03-02
mac會導致不同這樣呀...