pasteはテキストファイルを列方向に結合するコマンドだ。
縦方向に結合するのであれば、様々なコマンドでできるが、横方向に結合できるのはpasteコマンドのみだ。
目次
pasteコマンドの基本
コマンドの基本動作
使い方は、次のとおりだ。
$ paste 元ファイル1 元ファイル…
このページでは、pasteコマンドを次のf1.txtからf4.txtの4つのテキストファイルを操作して紹介する。
もし、コマンドを実行するのであれば次のコマンドでファイルを作成しよう。
echo -e "1¥n2¥n3¥n4" > f1.txt |
ファイルf1.txtとファイルf2.txtを列方向で結合する場合は、次のコマンドだ。
$ paste f1.txt f2.txt
ファイルf1.txtとファイルf2.txtを列方向で結合された。
2つ以上のファイルでも結合できる。
ファイルf1.txt、ファイルf2.txt、ファイルf3.txt、ファイルf4.txtの4つのファイルを列方向で結合する場合は、次のコマンドだ。
$ paste f1.txt f2.txt f3.txt f4.txt
4つのファイルが列方向で結合された。
pasteコマンドのオプションたち
オプションの一覧
後から詳細をご紹介するが、まずは一覧で見てみよう。
オプション -d(オプション--delimiters=LIST)
結合文字を指定する。
オプション -s(オプション--serial)
結合したものの行列を入れ替える。
-dオプション(--delimiters=LISTオプション)
オプションなしでは列ごとの結合文字はタブ文字だ。-dオプションは結合文字を指定する。
書式は次のとおりだ。
$ paste -d 結合文字 元ファイル1 元ファイル…
結合文字を「-」とし、ファイルf1.txt、ファイルf2.txt、ファイルf3.txt、ファイルf4.txtの4つのファイルを列方向で結合する場合は、次のコマンドだ。
$ paste -d - f1.txt f2.txt f3.txt f4.txt
結合文字を「-」とし、4つのファイルが列方向で結合された。
-sオプション(--serialオプション):結合したものの行列を入れ替える
結合した結果の行列を入れ替える。
書式は次の通りだ。
$ paste -s 元ファイル1 元ファイル…
行列を入れ替えつつ、ファイルf1.txt、ファイルf2.txt、ファイルf3.txt、ファイルf4.txtの4つのファイルを列方向で結合する場合は、次のコマンドだ。
$ paste -s f1.txt f2.txt f3.txt f4.txt
4つのファイルが列方向で結合され、行列が入れ替えされた。
テキストファイルの行方向での結合
行方向での結合はpasteコマンドではできない。
catコマンドでリダイレクトする方法を紹介する。
書式は次の通りだ。
$ cat 元ファイル1 元ファイル…
ファイルf1.txt、ファイルf2.txt、ファイルf3.txt、ファイルf4.txtの4つのファイルを行方向で結合する場合は、次のコマンドだ。
$ cat f1.txt f2.txt f3.txt f4.txt
paste関連コマンド
最後にpasteコマンドに関連して、基本的なテキストファイル操作関連のコマンドも紹介しておく
splitコマンド
テキストファイルを分割する。
sortコマンド
テキストファイルを並べ替えする。
cutコマンド
文字列を分離する。
uniqコマンド
重複行を削除する。
まとめ
このページでは、pasteコマンドを使ったテキストファイルの列方向での結合の方法を解説した。
結果は画面に出力しているが、ファイルに出力するにはリダイレクトする。
2ファイル間の違いを並べて比べるような時に活用しよう。
コメント