GNU Core Utilities/paste
表示
paste コマンドは、複数のファイルや標準入力からの行を結合して、横に並べて出力するためのコマンドです。主にデータの統合や複数のカラムを並べて表示する際に使用されます。GNU coreutils に含まれており、Linux では GNU 版が、FreeBSD では BSD 版が提供されています。基本的な動作は共通していますが、細かなオプションの違いがあります。
基本的な使い方
[編集]paste [オプション] [ファイル...]
主なオプション(GNU coreutils版)
[編集]主なオプション オプション 説明 -d, --delimiter=DELIMフィールドの区切り文字を指定(デフォルトはタブ) -s, --serialファイルの内容を縦に並べて結合 -z, --zero-terminated出力をヌル文字で区切る -A, --append既存の行の後に追加する -o, --output-delimiter=DELIM出力時の区切り文字を指定
例
[編集]ファイルを横に結合(デフォルトのタブ区切り)
[編集]paste file1.txt file2.txt
file1.txt と file2.txt を横に結合して表示(タブ区切りで出力)。
区切り文字を指定して結合
[編集]paste -d ',' file1.txt file2.txt
file1.txt と file2.txt をカンマ区切りで結合。
縦に並べて結合
[編集]paste -s file1.txt file2.txt
file1.txt と file2.txt を縦に並べて結合。
ヌル文字で区切った出力
[編集]paste -z file1.txt file2.txt
出力をヌル文字で区切って表示。
出力時の区切り文字を変更
[編集]paste -o ';' file1.txt file2.txt
出力時にセミコロンで区切って結合。
FreeBSD 版との違い
[編集]FreeBSD でも paste コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。
主な違い:
[編集]-z(ヌル文字区切り)オプションが FreeBSD にはない- FreeBSD 版の
pasteには、-zオプションがないため、ヌル文字で区切られた出力を扱うことができません。
- FreeBSD 版の
-A(行追加)オプションが FreeBSD にはない- FreeBSD 版の
pasteには、-Aオプションがないため、既存の行の後に追加する機能を使用できません。
- FreeBSD 版の
- GNU coreutils 版を FreeBSD で使う方法
coreutilsパッケージをインストールするとgpasteという名前で GNU 版pasteが使える。
pkg install coreutils gpaste file1.txt file2.txt # GNU coreutils 版の paste
詳しくは、それぞれの環境で man paste を確認してください。