2016-08-03 12 views
0

ファイルパスの入ったファイル名のリストを持つtxtファイルがあります。すべてのファイルを1つのファイルに連結する方法は?SEDを使用して複数のファイルを連結する

EX:あなたはすべての*.txtファイルが必要な場合

One.txt content >> first file content 
two.txt content >> second file content 
three.txt content >> third file content 

allFiles.txt contains these the below lines 
one.txt 
two.txt 
three.txt 

私は下の行

first file content 
second file content 
third file content 
+1

本当にsedが必要ですか? 'cat allFiles.txt | xargs cat'はそれを行うべきです。 – patthoyts

+0

cat allFiles.txt | xargs cat >> output.txt。それは動作します – Neo

答えて

0
while read fname 
do 
sed '1' "$fname" >> newfile.txt # You need to append so '>>' 
done<allFiles.txt 

が含まれているoutput.txtと、ファイルにallFiles.txtをCONCATする必要があります。しかし

shopt -s globstar 
sed '' **/*.txt 1>>/outfile 2>/dev/null # errors for .txt directories are suppressed 
shopt -u globstar 
+0

特定のファイルのみ、すべてのファイルが同じディレクトリです。そのようなファイル名を含むtxtファイルが作成されました。 – Neo

+0

@ネオ:私の最初の解決策はあなたのためです。それが要件に合っていればそれを受け入れてください。 – sjsam

関連する問題