之前寫了一個程式,會讀取第一個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是不是真的只能將換行當作分隔呢?
--
一個一個列出來,類似:
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是不是真的只能將換行當作分隔呢?
--
All Comments