新刊ピックアップ
Excel vs. AWK!? 基礎の知識は長く役に立つ!
シェル上でちょっと気の利いたことができる気軽なツール
ネットワーク上のリソース活用がサービスにとってもはや当然のものとなり,
と,
プログラムリストの先頭に行番号をふる作業
たとえば,
リスト1 samplecode
{
for (i=1; i<=n; i++) {
printf("%s-" $i)
}
printf ""
}
このプログラムリストの行頭に,
Excelでの手順
- (1)
samplecodeのテキストをコピーして, ExcelのB列にペースト - (2)
ExcelのA1に 「1」, A2に 「2」 を入力。この2つのセルを選択し, オートフィル機能を使って連番を入力 (図1) - (3)
C1に 「=CONCATENATE(TEXT(A1, "[<=999]000: "), B1)」 を入力して, A1とB1を書式付きで結合 - (4)
C1をC2以降にコピペ - (5)
C列をテキストファイルにコピペして保存 (図2)
筆者が考え得る限りの最短手順です。行数が多い場合は,
さてそれでは,
AWKでの手順
(1)gawk '{printf("%03d: %s\n", NR, $0)}' samplecode
結果の出力は次のとおりです。
001: { 002: for (i=1; i<=n; i++) { 003: printf("%s-" $i) 004: } 005: printf "" 006: }
テキストファイルに保存,
printfの中身が多少呪文めいて見えますが,
第1引数の
サンプルを使って,変えて,気軽にプログラミング
このあたりの詳細は,
サンプルスクリプトが豊富に載っている本書で,