Linuxでコマンドラインを操作しているときに、複数のファイルの行をマージして、より意味のある有用なデータを作成しなければならない場合があります。コマンドラインユーティリティ貼り付けが存在することを知って喜ぶでしょう。 それはあなたのためにこれを行います。このチュートリアルでは、このコマンドの基本と、わかりやすい例を使用してコマンドが提供する主な機能について説明します。
ただし、その前に、この記事で言及されているすべての例がUbuntu16.04LTSでテストされていることを言及する価値があります。
Linux貼り付けコマンド
すでに上で述べたように、pasteコマンドはファイルの行をマージします。ツールの構文は次のとおりです。
paste [OPTION]... [FILE]...
そして、これがペーストの魔道士がそれを説明する方法です:
Write lines consisting of the sequentially corresponding lines from each FILE, separated by TABs,
to standard output. With no FILE, or when FILE is -, read standard input.
次のQ&Aスタイルの例は、貼り付けの方法についてより良いアイデアを提供するはずです。 動作します。
Q1。貼り付けコマンドを使用して複数のファイルの行を結合するにはどうすればよいですか?
次の内容の3つのファイル(file1.txt、file2.txt、およびfile3.txt)があるとします。
そして、タスクは、最終出力の各行にインデックス、国、および大陸が含まれるようにこれらのファイルの行をマージすることです。次に、次の方法で貼り付けを使用してそれを行うことができます。
paste file1.txt file2.txt file3.txt
Q2。貼り付けを使用するときに区切り文字を適用するにはどうすればよいですか?
結果の各行のエントリ間に区切り文字を追加する必要がある場合があります。これは、 -dを使用して実行できます コマンドラインオプション。使用する区切り文字を指定する必要があります。
たとえば、区切り文字としてコロン(:)を適用するには、次のように貼り付けコマンドを使用します。
paste -d : file1.txt file2.txt file3.txt
このコマンドがシステムで生成した出力は次のとおりです。
Q3。行をマージする方法を変更するにはどうすればよいですか?
デフォルトでは、pasteコマンドは、最初の列のエントリが最初のファイルに属し、2番目の列のエントリが2番目のファイルに属するというように、行をマージします。ただし、必要に応じて、これを変更して、マージ操作が行単位で行われるようにすることができます。
これは、 -sを使用して実行できます コマンドラインオプション。
paste -s file1.txt file2.txt file3.txt
出力は次のとおりです。
Q4。複数の区切り文字を使用するにはどうすればよいですか?
はい、複数の区切り文字を使用することもできます。たとえば、:と|の両方を使用する場合は、次の方法で実行できます。
paste -d ':|' file1.txt file2.txt file3.txt
出力は次のとおりです。
Q5。マージされた行がNULで終了していることを確認するにはどうすればよいですか?
デフォルトでは、貼り付けによってマージされた行は改行で終了します。ただし、必要に応じて、それらをNULで終了させることができます。これは、 -zを使用して実行できます。 オプション。
paste -z file1.txt file2.txt file3.txt
ほとんどの人が同意するように、貼り付け コマンドを理解して使用することは難しくありません。それは限られたコマンドラインオプションのセットを提供するかもしれませんが、ツールはそれが主張することをします。毎日必要ない場合もありますが、貼り付け 一部のシナリオでは、リアルタイムの節約になります。必要に応じて、こちらがツールのマニュアルページです。