概要
複数入力を横に並べて出力します。二列比較や簡易表作成で便利ですが、キーに基づく結合ではありません。
基本構文
paste [オプション]... [ファイル]...詳細解説
pasteは、複数ファイルの1行目同士、2行目同士という対応で横方向に結合するコマンドです。単純な行対応がある入力なら、二列化や簡易表作成に非常に便利です。
ただし、joinのようにキーで突き合わせる道具ではありません。行数や順序がずれていると、そのずれたまま結合されます。用途に応じてpasteとjoinを使い分けるのが重要です。
このコマンドを使う場面
二つの一覧を横に並べたい時、列を簡易結合したい時、縦並びデータを1行化したい時に使います。
まず安全に試す方法
1. printf 'anbn' > a.txt
2. printf '1n2n' > b.txt
3. paste a.txt b.txt
4. paste -d ':' a.txt b.txt
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
文字列一覧と番号一覧をpasteで横に並べます。
資格試験との関連
-
LinuC レベル1
範囲: 1.03.2 フィルタを使ったテキストストリームの処理根拠: officialpasteは、テキスト処理系の基本フィルタとしてLinuCレベル1の範囲に関わります。
-
LPIC-1
範囲: 103.2 フィルタを使ったテキストストリームの処理根拠: officialpasteは、LPIC-1でテキストストリームへフィルタを適用する技能と関係します。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorialpasteは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。
実行結果サンプル
-
paste a.txt b.txta 1 b 2
戻り値コード
- 0 正常終了。結合に成功しました。
- >0 読取失敗などで失敗しました。
使用例
paste names.txt ids.txtpaste -d ':' names.txt shells.txtpaste -s list.txt
よくあるエラー
-
キー結合したかったのにずれた結果になった 原因: pasteは行対応結合であり、キー照合をしません。対処: キーで結合したいならjoinを使います。
導入・互換性情報
POSIXで基本機能は共通です。
注意点 / セキュリティリスク
危険度は低いですが、入力の行対応が前提です。対応関係が崩れているのにそのまま使うと、誤った組み合わせを生成します。
FAQ
-
Q. joinとの違いは何ですか。 A. pasteは行番号対応、joinはキー対応です。
参照リンク
- カテゴリー: Text Processing
- レベル: Basic
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎