2012-03-03 7 views
3

ファイルのリストを含むファイルを取り込むスクリプトファイルを調べようとしています(各行はファイルへのパスです)ファイル)を作成し、ファイルにマージします。例えばUnix/bash:ファイルリストを読み込んでファイルにマージする

:次に

list.text 
-- 
path/to/filename 
filename 

merge_script.sh list.txtにfinal_file.txt

すべてのヘルプは高く評価されそう

ようなスクリプトを呼び出します。私は非常にbashスクリプトで不自由だといくつかのUNIXの教祖が私がすぐに思い付くことができることを願っています。それ以外の場合は、それを正しく行うには数時間かかります(まあ、それが正しいことを前提として)。私はいくつかの例を挙げるために狩りをしてきました。今まで運がない。

おかげで、 ジャック

答えて

5
xargs < list.text cat > final_file.txt 

xargsはバッチで、list.textからcatにファイル名を送信します(ので、彼らは、コマンドラインをオーバーフローしません)。次にcatは各ファイルの内容を出力し、出力はfinal_file.textにリダイレクトされます。

+0

ありがとうございます!魅力のように動作します。私はそれが単に単なる行だとは決して考えなかった。 – juminoz

+1

Linuxは魔法です。それは何でもできます。トリックはそれを求める方法を考え出しています! :-) –

+0

ファイルのリストを使ってファイルを作成するステップを、 'find'の出力を直接次のように置き換えてみました:' xargs <'find。 -name "* .txt" |並べ替え 'cat> concatentated.out'しかし、私は'あいまいなリダイレクト 'を得る - 任意の提案? –

関連する問題