このページの内容

7.12 空行以外への行番号の付加

「cat -b」の動作をまねる方法は、「cat -n」とほぼ同じです。番号を付ける行と付けない行を選ぶだけです。

このスクリプトと前のスクリプトに共通する部分にはコメントを付けていません。sedスクリプトに適切なコメントを付けることが、どれほど大切かを示すためです。

#!/usr/bin/sed -nf

/^$/ {
  p
  b
}


# Same as cat -n from now
x
/^$/ s/^.*$/1/
G
h
s/^/      /
s/^ *\(......\)\n/\1  /p
x
s/\n.*$//
/^9*$/ s/^/0/
s/.9*$/x&/
h
s/^.*x//
y/0123456789/1234567890/
x
s/x.*$//
G
s/\n//
h
コード内の説明(日本語訳)

ここからはcat -nと同じです。