overlay <概要> overlay : 二つのテキストファイルを重ねあわせる。 <書式> Usage : overlay basefile overfile : overlay -r basefile overfile : overlay -f [-m<meta-str>] basefile overfile Version : Mon Mar 18 16:57:50 JST 2013 UTF-8 <説明> テキストファイル"basefile"の上にもう一つのテキストファイル"overfile"を重ねあわせ 、一つのテキストファイルとして出力します。 <例1> 単純重ね合わせ 先に"ido"ツールで片方のテキストを移動させ重ねるスペースを空けてから"overlay"にて 一つに重ねの帳票にするパターンに多く使われます。 (元データ:ベースファイル) $ cat base ★教科別得点 No 氏名 A B C D E ======================= 000 浜地 91 59 20 76 54 001 鈴田 46 39 8 5 21 003 杉山 30 50 71 36 30 004 白土 58 71 20 10 6 005 崎村 82 79 16 21 80 007 梶川 50 2 33 15 62 → 20文字空白が空いている。 (元データ:オーバーファイル) $ cat over ★総合ランキング Rank 氏名 総合得点 ================== 1 安武 402 2 柳本 359 3 浜地 300 4 崎村 278 5 杉山 217 6 米原 206 "base"と"over"を重ねて一つの帳票にします。 $ overlay base over ★総合ランキング ★教科別得点 Rank 氏名 総合得点 No 氏名 A B C D E ================== ======================= 1 安武 402 000 浜地 91 59 20 76 54 2 柳本 359 001 鈴田 46 39 8 5 21 3 浜地 300 003 杉山 30 50 71 36 30 4 崎村 278 004 白土 58 71 20 10 6 5 杉山 217 005 崎村 82 79 16 21 80 6 米原 206 007 梶川 50 2 33 15 62 <例2> 行単位の重ね合わせ -r を指定すると、行単位でオーバーレイを行います。 オーバーファイル内に空行がある場合にも、空行がそのまま表示されます。 $ cat base This is test file. $ cat over That is $ overlay -r base over That is file. <例3> フィールド単位での重ね合わせ デフォルトでは、オーバーファイルのフィールドが "@" の場合「透明文字」 として扱われます。-m オプションを使用して透明文字を指定できます。 $ cat base 1 2 3 4 a b c d $ cat over @ x @ y @ @ w z $ overlay -f base over 1 x 3 y a b w z この時、それぞれのフィールドに対してベースファイルがはみ出した部分は 表示されず、オーバーファイルのフィールド内容がそのまま表示されます。 $ cat base 東京都 港区 西新橋3-4-2 USP研究所 $ cat over 東京都 港区西新橋 3-4-2 @ $ overlay -f base over 東京都 港区西新橋 3-4-2 USP研究所 # 20170515 -rの説明と、-fの補足を追加 青木