Linux,複数のファイルを、行または列で連結する方法

スポンサーリンク

鍛錬 470

Linux,複数のファイルを、行または列で連結する方法

複数のファイルを行または列で連結するには、paste を使用します。
 
使用方法は、以下に示す通りです。

複数のファイルを行で連結する

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

 
複数のファイルを列で連結する

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

 
デリミタ(区切り記号)を指定する

paste -d デリミタ ファイル1 ファイル2 ファイル3 ・・・
スポンサーリンク

サンプルファイル

以下は、今回連結する3つのサンプルファイル、id.txt、fruits.txt、price.txt です。

id.txt

1
2
3
4
5

fruits.txt

apple
orange
grape
peach
melon

price.txt

200
300
500
100
600
スポンサーリンク

実行結果

以下は、前述した3つのファイル、id.txt、fruits.txt、price.txt を連結しています。

行で連結する

以下は、3つのファイルを行で連結しています。

***@ubuntu:~/***/test/tmp$ 
***@ubuntu:~/***/test/tmp$ paste id.txt fruits.txt price.txt
1	apple	200
2	orange	300
3	grape	500
4	peach	100
5	melon	600

 
上記に示した通り、3つのファイルを行で連結することができました。

列で連結する

以下は、3つのファイルを列で連結しています。

***@ubuntu:~/***/test/tmp$ 
***@ubuntu:~/***/test/tmp$ paste -s id.txt fruits.txt price.txt
1       2       3       4       5
apple   orange  grape   peach   melon
200     300     500     100     600

 
上記に示した通り、3つのファイルを列で連結することができました。

デリミタ(区切り記号)を指定する

以下は、デリミタをデフォルトのタブではなく、「, (カンマ)」として3つのファイルを連結しています。

***@ubuntu:~/***/test/tmp$ 
***@ubuntu:~/***/test/tmp$ paste -d , id.txt fruits.txt price.txt
1,apple,200
2,orange,300
3,grape,500
4,peach,100
5,melon,600

 
上記に示した通り、デリミタを指定してファイルを連結することができました。

タイトルとURLをコピーしました