作者:
cherubx (DanzYam)
2015-07-10 12:42:25大家好,這次我真的想破頭,一點頭序都沒有
我有一堆資料在/home/me/doc/a/
我一個需修改資料清單檔在 /home/me/doc/list
我想一次修改過檔案內容,以下是我做的順序
$cat list (確認下清單內容)
/home/me/doc/a/123.txt
/home/me/doc/a/223.txt
/home/me/doc/a/323.txt
/home/me/doc/a/423.txt
/home/me/doc/a/523.txt
$ cat list |xargs -i sed 's///g' {} (把清單的路徑做為sed的filename)
No such file or directoryx/home/me/doc/a/123.txt
No such file or directoryx/home/me/doc/a/223.txt
No such file or directoryx/home/me/doc/a/323.txt
No such file or directoryx/home/me/doc/a/423.txt
No such file or directoryx/home/me/doc/a/523.txt
$ cat /home/me/doc/a/123.txt (確認檔案是否存在)
檔案內容存在
作者:
bibo9901 (function(){})()
2015-07-10 12:52:00xargs --verbose 可以看到要執行的 command可能是sed 的參數有問題, 試試用雙引號包起來?
作者:
qsort (Cos)
2015-07-10 13:25:00-i: This option is deprecated; use -I instead.try this: xargs -I{} -t -n 1 echo {}
作者:
bitlife (BIT一生)
2015-07-10 13:53:00試試用vi看一看list檔,把裏面的怪字元除掉,太多列用regex如果vi也看不出來,用od來看反正先找出有什麼字元是路徑以外的,格式如何再來想辦法先直接用bash執行 while read p; do sed s///g $p <換行>done<new-list看看有沒有成功?linux至少還有這些指令可以玩一輩子,在早先的windows,這種批次動不寫程式來做要下輩子 XD^作
作者:
kdjf (我抓得到什麼呢?)
2015-07-10 19:25:00上傳你的list.txt給大家看一下啊為什麼你要xargs -i ? 你的-i是要給sed的吧?
作者:
lj0113 (tiny legend)
2015-07-10 22:15:00試試 dos2unix 指令, 之前在 windows 處理過有問題的檔案之前在 windows 處理過正常, linux有問題的檔案, 都這樣解