utte31 / 78

joinで2つのファイルを共通の欄で結合する

ホームディレクトリの names.txt(「番号 名前」)と scores.txt(「番号 点数」)を、番号が同じ行どうしで結合し、「番号 名前 点数」の形にして ~/report.txt に保存してください。どちらも番号順に並んでいます。

解説
join names.txt scores.txt > report.txt

join は、2つのファイルの共通の欄(既定では1列目)が同じ行を結合します。欄の区切りは空白です。どちらのファイルも、その欄で並べ替えてある必要があります。別の欄を使うときは -1 2 -2 1 のように指定します。

似たコマンドの paste は、キーを見ずに、行を1行目どうし、2行目どうしで横に並べるだけです。区切りは既定でタブです。この問題のように番号で対応づけたいときは join を使います。

使うコマンド