行番号を持つ tr

行番号を持つ tr

tr出力例は次のとおりです。

user@linux:~$ tr $ '\n' <<< 'abc$def$ghi'
abc
def
ghi
user@linux:~$ 

各行に行番号を追加できますか?

例えば

user@linux:~$ tr $ '\n' <<< 'abc$def$ghi'
1. abc
2. def
3. ghi
user@linux:~$ 

答え1

tr出力を次にパイプできます。

awk '{print NR". "$0}'

たとえば、番号を取得します。

各入力レコード(デフォルトではレコードは省略)に対して、printレコード番号(NR)、". "フルレコード($0)、および出力レコード区切り文字(ORSデフォルトでは改行)を入力します。

cat -n、、、は行に番号を付ける別の方法ですが、すべて異なる出力形式を提供し、すべて移植可能/標準ではなく、一部(、 )またはその実装grep -n '^'が特定の文字またはシーケンスを処理しません。すべての入力で動作します。彼らが入力する文字は特別です。nl -ba -d$'\n'pr -t -nnlpr

一部の実装では、入力にNUL文字が含まれていてもブロックされます(ただし、awkin演算子を使用してもこれは発生しません)。<<<bash

答え2

また、元の出版編集者に標準参照を提供するための多くのオプションを持つnl(行数)コマンドもあります(空白行、ヘッダー、フッター、ページ:行などで番号を付けない)。一般的な標準オプションは次のとおりです。nl -ba

関連情報