pasteコマンドは横方向に複数ファイルを結合する、とても便利なコマンドです。
その基本的な使い方をご紹介します。

スポンサーリンク

横方向に複数ファイルを結合するpasteコマンドの基本的な使い方

基本的な使い方は、下記の形式で書きます。
ファイル1〜ファイルNを横方向に結合します。

paste ファイル1 ファイル2 ファイル3 ・・・ファイルN

例えば、下記のように、in.txtとin2.txtとin3.txtがあったとします。

 $ cat in.txt 
4 5
4 5
4 5

 $ cat in2.txt 
6
6
6

 $ cat in3.txt 
7
7
7

3ファイルを結合する場合には、下記のようにコマンドラインで実行します。

 $ paste in.txt in2.txt in3.txt 

下記が実行です。横方向に3ファイルが結合されているのが確認できます。

 $ paste in.txt in2.txt in3.txt 
4 5	6	7
4 5	6	7
4 5	6	7

スポンサーリンク

pasteコマンドに-dオプションを付けて出力の区切り文字を指定

pasteコマンドのデフォルトの出力の区切り文字はタブになっています。
そこで、下記の形式で、-dオプションをつけることで、出力の区切り文字を変更できます。

paste -d 区切り文字 ファイル1 ファイル2 ファイル3 ・・・ファイルN

例えば、先述の3ファイルをスペース区切りで出力したい場合は、下記のように実行します。

 $ paste -d " " in.txt in2.txt in3.txt 

下記が実行結果になります。先程はタブ区切りの出力となっていましたが、スペース区切りの出力となっています。
 $ paste -d " " in.txt in2.txt in3.txt 
4 5 6 7
4 5 6 7
4 5 6 7

pasteコマンド-sオプションで行と列を入れ替える

pasteコマンドは-sオプションをつけることで、行と列を入れ替えることができます。

paste -s ファイル1 ファイル2 ファイル3 ・・・ファイルN

例えば、同様に先述の3ファイルを結合した際に、行と列を入れ替えたい場合は、下記のように実行します。

 $ paste -s  in.txt in2.txt in3.txt 
 

下記のような実行結果となり、行と列が入れ替わっていることが確認できます。

 $ paste -s  in.txt in2.txt in3.txt 
4 5	4 5	4 5
6	6	6
7	7	7

スポンサーリンク