すべてを

▼開く

閉じる▲

2つのファイルを行単位で結合し、ファイルの区切りに指定文字を使う

○ファイル「July.txt」と「Aug.txt」を行単位で結合し、ファイルの区切り文字に「,」を使う

catコマンドで結合するファイルを見る
$ cat July.txt
July    Sunset
1       19:16
2       19:16
3       19:16
4       19:16
5       19:16
$ cat Aug.txt
Aug.    Sunset
1       19:02
2       19:01
3       19:00
4       18:59
5       18:58

pasteコマンドで-dオプション、区切り文字、結合するファイルを指定する
$ paste -d , July.txt Aug.txt
July    Sunset  ,Aug.   Sunset
1       19:16,1 19:02
2       19:16,2 19:01
3       19:16,3 19:00
4       19:16,4 18:59
5       19:16,5 18:58

pasteコマンドで-dオプション、区切り文字「,」、結合するファイル「July.txt」、「Aug.txt」を指示すると、それぞれのファイルの内容を区切り文字「,」を使って結合する。この区切り文字は、1文字のみが有効である。

●区切り文字に使う文字に注意する

区切り文字に特殊文字を使うと、シェルがその文字を解釈してしまい、意図したコマンド実行結果を得られない。そのため、特殊文字を使う場合は二重引用符「"」で囲む。

「(」がシェルに解釈されてコマンドが実行されない。
$ paste -d ( July.txt Aug.txt
-bash: syntax error near unexpected token `('

「(」が正しくpasteコマンドに渡された
$ paste -d "(" July.txt Aug.txt
July    Sunset  (Aug.   Sunset
1       19:16(1 19:02
2       19:16(2 19:01
3       19:16(3 19:00
4       19:16(4 18:59
5       19:16(5 18:58

2つのファイルを行単位で結合する

○ファイル「July.txt」と「Aug.txt」を行単位で結合する

catコマンドで結合するファイルを見る
$ cat July.txt
July    Sunset
1       19:16
2       19:16
3       19:16
4       19:16
5       19:16
$ cat Aug.txt
Aug.    Sunset
1       19:02
2       19:01
3       19:00
4       18:59
5       18:58

pasteコマンドで結合するファイルを指定する
$ paste July.txt Aug.txt
July    Sunset          Aug.    Sunset
1       19:16   1       19:02
2       19:16   2       19:01
3       19:16   3       19:00
4       19:16   4       18:59
5       19:16   5       18:58

pasteコマンドで結合するファイル「July.txt」、「Aug.txt」を指示すると、それぞれのファイルの内容を行単位で結合して表示する。ファイル間の区切り文字にはタブが使われる。