2013-10-01 36 views
1

我有兩個不同的文件file1.txt和file2.txt,我需要將兩個文件的內容(單獨)作爲arg1和arg2傳遞給程序。如何使用xargs和cat將兩個不同文件的內容作爲參數進行管道傳輸?

我可以做一個文件,

cat file1.txt | xargs ./prog 

但我怎麼能管這兩個文件?

謝謝。你可以這樣做

+0

顯示每個文件的內容的一些例子... – iamauser

+0

您可能想要更改'。/ prog',例如添加一個選項'-f',使用此選項,這兩個參數將是文件名。那麼你可以執行'./prog -f file1 file2'並在腳本中讀取這兩個文件。 – Kent

+0

@Kent我無法改變編。 – zeion

回答

1

一種方法是使用命令替換,而不是xargs,就像這樣:

./prog "$(<file1.txt)" "$(<file2.txt)" 

如果你必須保持與POSIX sh兼容,請不要使用以下:

./prog "`cat file1.txt`" "`cat file2.txt`" 

請注意,如果每個文件中有多個單詞,並且希望將它們作爲單獨的參數對待,請刪除" "引號(但不包括$()` `)。

相關問題