[問題] Sed改名字

看板Linux作者 (天行者)時間9年前 (2015/02/06 18:11), 9年前編輯推噓0(008)
留言8則, 3人參與, 最新討論串1/1
小弟不才 又來問有關於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 就是沒有變動到 想請問各位 是哪兒出了問題 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.122.136.52 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1423217506.A.095.html

02/06 18:52, , 1F
最後面不是應該要放被修改的檔案嗎?
02/06 18:52, 1F

02/06 18:53, , 2F
sed -i 's/pattern/replacement' file_to_edit
02/06 18:53, 2F

02/06 19:43, , 3F
有啊 就是XMMXCSJ0023.2+0012 他是檔名
02/06 19:43, 3F
所以依照你說的 sed -i 's/pattern/replacement' file_to_edit sed -i 's/XMMXCSJ0016.6-0102/XMMXCSJ0023.2+0012/' XMMXCSJ0023.2+0012 我就這樣呀 可是不給我機會 我難過 ※ 編輯: zyxwvoklove (27.105.104.139), 02/06/2015 21:49:46

02/06 23:55, , 4F
你操作的系統是 linux 系統嗎?
02/06 23:55, 4F

02/06 23:58, , 5F
依據你畫面來看好像是 mac os ?
02/06 23:58, 5F

02/06 23:59, , 6F
mac os x 的 sed,-i 後面要給一個備份檔案名稱
02/06 23:59, 6F

02/07 00:00, , 7F
sed -i myfile.bak 's/aaa/bbb/' myfile
02/07 00:00, 7F

02/07 01:07, , 8F
mac會導致不同這樣呀...
02/07 01:07, 8F
文章代碼(AID): #1Kr9DY2L (Linux)