12

私は3つのファイルを取得し 、各ファイルの後にcat改行を挿入しようとしています。次のようなものを使用することを考えました:\n

cat f1 f2 f3|tr "\EOF" "\n"

成功せずに。

それを達成する最も簡単な方法は何ですか?

4

5 に答える 5

25
cat f1 <(echo) f2 <(echo) f3 <(echo) 

また

perl -pe 'eof&&s/$/\n/' a b c
于 2012-08-20T12:30:06.247 に答える
8

EOF 文字ではなく、CTRL-Dでさえありません。これは、インタラクティブ入力でEOFを示すための通常の端末方法です。したがって、文字を変換するためのツールを使用して、何らかの方法で文字を変更することはできません。

この単純なケースの場合、最も簡単な方法は、単一でそれを実行しようとすることについて心配するのをやめることですcat:-)

cat f1; echo; cat f2; echo; cat f3

うまくトリックを行います。より多くのファイルはスクリプトに値するかもしれませんが、この小さなケースの必要性はわかりません。

これらすべてのストリームを組み合わせてさらに処理する場合は、サブシェルで実行するだけです。

( cat f1; echo; cat f2; echo; cat f3 ) | some_process
于 2012-08-20T12:31:18.153 に答える
1

私は同様の問題を抱えていました。私の状況は次のとおりでした。

grep "" file1 file2 file3 | awk -F ':' '{print $2}'
于 2013-06-11T08:10:25.023 に答える
-3

これを試して:

find f1 f2 f3 | xargs cat
于 2012-08-21T14:09:55.533 に答える