~ ~ ~ :r!wc /user0/ycos_work/Fdump/*.c ↓ 38 89 576 /user0/ycos_work/Fdump/fdump.c 16 29 283 /user0/ycos_work/Fdump/fline.c 14 27 236 /user0/ycos_work/Fdump/fread.c 68 145 1095 total [ 5 more lines ]
2) 不要なディレクトリの部分を削除
各ファイル名の前についているパス名をs コマンドでヌルに置換します。
またスラッシュ(/)がパス名の構成要素であるため、区切り文字にカンマ(,)を指定しています。
38 89 576 /user0/ycos_work/Fdump/fdump.c 16 29 283 /user0/ycos_work/Fdump/fline.c 14 27 236 /user0/ycos_work/Fdump/fread.c 68 145 1095 total :%s,/user0/ycos_work/Fdump/,, ↓ 38 89 576 fdump.c 16 29 283 fline.c 14 27 236 fread.c 68 145 1095 total [ 5 substitutions ]
3) ファイル名を先頭に移動
s コマンドで各行のファイル名欄を先頭に移動する。
正規表現を利用した置換を行ないます。
時置換文字列にはマッチした文字列を \n の形で参照できます。
この例では、数字の羅列とそれ以外を \1 \2 として参照し入れ替えています。
38 89 576 fdump.c 16 29 283 fline.c 14 27 236 fread.c 68 145 1095 total :%s/\([0-9 ]*\)\([a-z].*\)/\2 \1/) ↓ fdump.c 38 89 576 fline.c 16 29 283 fread.c 14 27 236 total 259 600 3750
1G!Gawk '{printf("|\%-15s|\%5d|\%5d|\%5d|\n",$1,$2,$3,$4)}' ↓ |fdump.c | 38| 89| 576| |fline.c | 16| 29| 283| |fread.c | 14| 27| 236| |total | 259| 600| 3750|(解説)
+---------------+-----+-----+-----+ | file name | line| word| byte| +---------------+-----+-----+-----+ |fdump.c | 38| 89| 576| |fline.c | 16| 29| 283| |fread.c | 14| 27| 236| +---------------+-----+-----+-----+ |total | 259| 600| 3750| +---------------+-----+-----+-----+