paste コマンドは、複数のファイルを行ごとに結合して出力するためのコマンドです。
表形式のデータを横方向に結合したいときや、2つのファイルを並べて確認したいときに利用されます。
構文(Syntax)
paste [オプション] [FILE...]
主なオプション一覧
| オプション | 説明 | 使用例 |
|---|---|---|
| (なし) | 複数ファイルをタブ区切りで横に結合 | paste file1.txt file2.txt |
-d LIST | 区切り文字を指定(デフォルトはタブ) | paste -d ',' file1.txt file2.txt |
-s | 行ではなくファイル全体を結合して1行に並べる | paste -s file1.txt |
実行例
2つのファイルを横に結合
# file1.txt
apple
banana
cherry
# file2.txt
red
yellow
dark-red
paste file1.txt file2.txt
出力例:
apple red
banana yellow
cherry dark-red
区切り文字をカンマに変更
paste -d ',' file1.txt file2.txt
出力例:
apple,red
banana,yellow
cherry,dark-red
ファイルを1行にまとめる
# file1.txt
a
b
c
paste -s file1.txt
出力例:
a b c
複数区切り文字を順に利用
paste -d ',:' file1.txt file2.txt file3.txt
(区切り文字はファイル間で順に繰り返されます)
エラー例(存在しないファイル)
paste file1.txt notfound.txt
出力例:
paste: notfound.txt: No such file or directory
関連コマンド
cut: 指定列を抽出するコマンド。join: 共通フィールドで2つのファイルを結合するコマンド。cat: ファイルを縦方向に結合して表示するコマンド。
備考
- 区切り文字は1文字のみ指定可能。複数文字を指定した場合は順番に繰り返し使用されます。
- ファイルの行数が異なる場合、短い方に空白が補われず、長い方の残りはそのまま出力されます。
- GNU coreutils に含まれるコマンドです。
参考
- manページ: https://man7.org/linux/man-pages/man1/paste.1.html
- GNU Coreutils公式: https://www.gnu.org/software/coreutils/

コメント