linux-concatenate-files
Linuxでのテキストファイルの単一ファイルへの連結
1. 概要
Linuxは、ファイルに対してさまざまな操作を実行するコマンドを提供します。 そのようなアクティビティの1つに、ファイルの連結(マージ)があります。
このクイックチュートリアルでは、*ファイルを1つのファイルに連結する方法*を説明します。
2. _cat_コマンドの紹介
ファイルを連結するには、* _ cat_(連結の略)コマンドを使用します*。
_A.txt_と_B.txt_という2つのテキストファイルがあるとします。
_A.txt_:
Content from file A.
_B.txt_:
Content from file B.
それでは、これらのファイルをファイル_C.txt_にマージしましょう。
cat A.txt B.txt > C.txt
-
cat_コマンドはファイルを連結し、結果を標準出力に出力します。*したがって、連結された出力をファイルに書き込むために、出力リダイレクト記号â€〜> ‘を使用しました。これにより、連結された出力が指定されたファイル。
上記のスクリプトは、コンテンツが連結された_C.txt_ファイルを作成します。
Content from file A.
Content from file B.
*ファイル_C.txt_が既に存在する場合は、単に上書きされることに注意してください*。
時々、コンテンツを上書きするのではなく、出力ファイルに追加したい場合があります。 これを行うには、ダブル出力リダイレクトシンボル_ >> _を使用します。
cat A.txt B.txt >> C.txt
上記の例は2つのファイルを連結します。 ただし、3つ以上を連結する場合は、これらすべてのファイルを次々に指定します。
cat A.txt B.txt C.txt D.txt E.txt > F.txt
これは、指定された順序ですべてのファイルを連結します。
3. ワイルドカードを使用して複数のファイルを連結する
連結するファイルの数が多い場合、各ファイルの名前を入力するのは面倒です。 したがって、連結する各ファイルを指定する代わりに、ワイルドカードを使用してファイルを指定できます。
たとえば、現在のディレクトリ内のすべてのファイルを連結するには、アスタリスク(*)ワイルドカードを使用できます。
cat *.txt > C.txt
*出力ファイルが既に存在する場合は、ワイルドカードを使用するときに注意する必要があります* —指定されたワイルドカードに出力ファイルが含まれている場合、エラーが発生します:*
cat: C.txt: input file is output file
*ワイルドカードを使用する場合、ファイルの順序は予測できないことに注意してください*。 したがって、ファイルを連結する順序が重要な場合は、前のセクションで見た方法を使用する必要があります。
さらに一歩進んで、パイプを使用して入力ファイルの内容を_cat_コマンドにフィードすることもできます。 たとえば、現在のディレクトリ内のすべてのファイルの内容を_echo_し、その出力を_cat_にフィードできます。
echo *.txt | xargs cat > D.txt
4. 結論
このチュートリアルでは、Linux _cat_コマンドを使用して複数のファイルを簡単に連結できることを確認しました。