[問題] 有關於xargs -i的問題

看板Linux作者 (藍色方舟)時間15年前 (2010/09/02 18:26), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/1
之前寫了一個程式,會讀取第一個argument作為參數使用,另外在一個txt檔中將很多args 一個一個列出來,類似: A B C D ... 其中A B C D都是該執行的指令。 然後再利用cat args.txt | xargs -i command {}的指令,希望能一次執行所有數據。但 最後發現這樣寫的話,xrags似乎會把一整行當作一個argument,因為我以下列指令測試 時: echo 123 456| xargs -i ./a.out {} (a.out是我臨時寫的程式,作用只是把第一個argument印出來) 執行的結果為: 123 456 但當我改成: echo 123 456| xargs ./a.out 執行的結果卻是: 123 而改成; echo "123\n456"| xargs -i ./a.out {} 得到的是: 123 456 我原先希望得到的結果為最後一個,但是直接使用-i時xargs卻把整行指令包含空白都當 作一個argument,只會把換行當作不同參數,不知道-i是不是真的只能將換行當作分隔呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.172.146

09/02 22:58, , 1F
-d 好像可以指定delimiter 不知道是不是你要的
09/02 22:58, 1F

09/02 23:00, , 2F
echo "123 456" | xargs -i -d" " ./a.out {}
09/02 23:00, 2F

09/03 02:19, , 3F
我這邊的xargs似乎沒有這個參數@@
09/03 02:19, 3F

09/03 02:46, , 4F
ubuntu有-d可用 原po可以用msn xargs查查看有沒有類似的
09/03 02:46, 4F

09/03 08:16, , 5F
man xargs -w-??? msn 微妙..
09/03 08:16, 5F

09/03 11:54, , 6F
哈哈,夜深了,頭腦不太清楚 XDDD
09/03 11:54, 6F
文章代碼(AID): #1CVtlaRi (Linux)