paste ペースト

英語表記paste

日本語表記行の横結合

正式名称paste

危険度安全

What does it mean?

複数入力を横に並べて出力します。二列比較や簡易表作成で便利ですが、キーに基づく結合ではありません。

Command Quest

paste を今日の道具にする

複数入力を横に並べて出力します。二列比較や簡易表作成で便利で...

$ paste [オプション]... [ファイル]...
関連用語0
次のコマンド0
FAQ1
参照3

概要

複数入力を横に並べて出力します。二列比較や簡易表作成で便利ですが、キーに基づく結合ではありません。

基本構文

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分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. 文字列一覧と番号一覧をpasteで横に並べます。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.2 フィルタを使ったテキストストリームの処理
    根拠: official
    pasteは、テキスト処理系の基本フィルタとしてLinuCレベル1の範囲に関わります。
  • LPIC-1
    範囲: 103.2 フィルタを使ったテキストストリームの処理
    根拠: official
    pasteは、LPIC-1でテキストストリームへフィルタを適用する技能と関係します。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    pasteは、ファイル操作またはテキスト処理の基本を支えるため、試験横断の共通知識として価値があります。

オプション

  • -d 区切り文字列
    既定のタブ以外の区切りを使います。
    paste -d ':' a.txt b.txt
  • -s
    1ファイル内の複数行を直列化して1行にまとめます。
    paste -s list.txt

実行結果サンプル

  • paste a.txt b.txt
    a	1
    b	2

戻り値コード

  • 0 正常終了。結合に成功しました。
  • >0 読取失敗などで失敗しました。

使用例

  • paste names.txt ids.txt
  • paste -d ':' names.txt shells.txt
  • paste -s list.txt

よくあるエラー

  • キー結合したかったのにずれた結果になった
    原因: pasteは行対応結合であり、キー照合をしません。
    対処: キーで結合したいならjoinを使います。

導入・互換性情報

POSIXで基本機能は共通です。

注意点 / セキュリティリスク

危険度は低いですが、入力の行対応が前提です。対応関係が崩れているのにそのまま使うと、誤った組み合わせを生成します。

FAQ

  • Q. joinとの違いは何ですか。
    A. pasteは行番号対応、joinはキー対応です。

参照リンク

関連記事