2012-07-08 113 views
2

我有一個程序返回給我一個文件名列表。我需要將這些文件的內容傳遞給另一個程序。如何將bash命令的輸出作爲參數傳遞給另一個?

我知道如何使用cat來傳遞內容:

cat file1 file2 file3 | some_program 

我想要做的是一樣的東西:

list=`get_file_list` 
cat ${list} | some_program 

雖然做上面會簡單地傳遞列表變量的內容而不是文件的內容。

+0

不,'cat $ {list}'連接'$ list'中的文件內容。如果這不是你想要的,我不明白你的問題。 – tripleee 2012-07-08 07:16:06

+0

'echo「$ list」| some_program'會將變量的內容傳遞給程序的標準輸入。 – 2012-07-08 11:05:50

回答

9

要傳遞的輸出,一個程序到另一個你可以使用xargs的,例如一個名爲myfile的文件

 find . -name "myfile*" -print | xargs grep "myword" $1 

這一個搜索*尋找他們的內部的關鍵。

+1

如果這是一個正確的答案,那麼'some_program \'get_file_list \''是在這種特殊情況下完成這個更簡單的方法。 – tripleee 2012-07-08 08:13:38

相關問題