シェルリダイレクトなしで複数のファイルを1回の呼び出し(追加、マージ)にコピーしますか?

シェルリダイレクトなしで複数のファイルを1回の呼び出し(追加、マージ)にコピーしますか?

複数のファイルを単一のファイルにコピー/追加するために使用できる一種のコマンドを探しています。いいえシェルリダイレクト(で試してみたいですcall_usermodehelper。同様の質問を参照してください。call_usermodehelper/call_usermodehelperpipeの使い方)。次のものを使用することもできます。

cat file1 file2 > file.merge

...しかし、これにはシェルリダイレクトが必要です。

これまで私が見つけたもの:

  • デフォルトのstdout出力を(コマンドライン引数を介して)オーバーライドできないため、使用できませんcat。それ以外はシェルリダイレクトです。
  • 1つの入力ファイルパラメータddのみを許可できるため、単一の呼び出しでは使用できません。if=
  • cp複数のファイルを個別に処理し、すべてのファイルを1つの場所にコピーして「マージ」する方法がないため、使用できません。

もしそうなら(疑似コード)のようなことをすることができる標準的なツールはありますか?

copytool -i file1 -i file2 -o file.merge

...出力がコンテンツに追加されるというfile.merge意味ですか?file2file1

ベストアンサー1

あなたはできます:

sed -n wfile.merge file1 file2

または:

awk '{print > "file.merge"}' file1 file2

または:

sh -c 'cat file1 file2 > file.merge'

(実装によっては、最初の2つはバイナリで正しく機能しない可能性があります。)

おすすめ記事