「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と同じです。