作者cherubx (DanzYam)
看板Linux
標題[問題] ~ 家目錄問題
時間Thu Jul 9 19:24:40 2015
大家好,想跟大家請教下~的問題(或許是指令的問題?)
我有個檔案的絕對路徑是 /home/me/doc/hahaha.voc
我想替換檔案中的內文所以我下了
sed 's///g' ~/doc/hahaha.voc (程式沒問題)
後來發現我有100個.voc檔都需要修改
所以我把100個檔做成一個清單(~/doc/list),如下
~/doc/xxx.voc
~/doc/ooo.voc
~/doc/kkk.voc
~/doc/www.voc
~/doc/ttt.voc
etc...
用
cat ./list |xargs -i sed 's///g' {}
結果系統跟我說
~/doc/xxx.voc not a file or directory
~/doc/ooo.voc not a file or directory
~/doc/kkk.voc --
~/doc/www.voc --
~/doc/ttt.voc --
後來我把list中的所有路徑換成絕對路徑,程式就可以跑了
想請問下這是為什麼呢?
照
cat ./list |xargs -i sed 's///g' {}
的寫法,不是會拆成以下指令嗎?
sed 's///g' ~/doc/kkk.voc
sed 's///g' ~/doc/ooo.voc
sed 's///g' ~/doc/xxx.voc
etc...
煩請提點,謝謝Orz
Dan
--
不過是人
http://www.facebook.com/twaiting
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.66.243.96
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1436441083.A.641.html
→ kdjf: ~是shell的expension, xargs不認得 07/09 19:29
→ cybelia: 在shell上打~的時候,他會偷偷幫你換成家目錄位置 07/09 19:41
→ cybelia: 所以事實上真的傳給程式的是家目錄的位置,不是~ 07/09 19:41
非常感謝二位,又學了一課:))))
※ 編輯: cherubx (124.155.187.95), 07/09/2015 20:29:17