テキストファイルの標準出力に行番号を追加する方法を考えたことはありますか?この簡単なガイドでは、特定のテキストファイルに行番号を追加する方法について説明します。ファイルに行番号を追加する方法は複数あります。ここでは、それを行うための6つの異なる方法について説明しました。今後もメソッドを追加していきます。このガイドをブックマークして、後で戻って追加があるかどうかを確認することをお勧めします。
方法1-「nl」コマンドを使用する
「nl」コマンドは、ファイルに行番号を追加するためのものです。指定されたファイルを行番号を追加して標準出力に書き込みます。 file.txtという名前のファイルがあります 以下の内容で。
$ cat file.txt This is line1 This is line2 This is line3 This is line5 This is line8
上記の出力でわかるように、ファイルには8行あり、3行は空です。行番号を追加しましょう。
これを行うには、次を実行します:
$ nl file.txt 1 This is line1 2 This is line2 3 This is line3 4 This is line5 5 This is line8
nlコマンドは、空の行を考慮しません。空白以外の行にのみ番号が追加されます。空白行を含むすべての行に番号を付ける場合は、 -bを使用します 以下のようなフラグ。
$ nl -b a file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
また、数字の後に記号/特殊文字を追加することもできます。たとえば、数字の後にドット(。)を追加するには、次のコマンドを実行します。
$ nl -s "." file.txt 1.This is line1 2.This is line2 3.This is line3 4.This is line5 5.This is line8
出力の幅を揃えることができます。これを行うには、以下のように-wフラグを使用します。
$ nl -w2 file.txt
方法2-「cat」コマンドの使用
catコマンドは、ファイルの内容を表示するために使用されます。ファイルの出力に数値を追加する場合は、以下のように-nフラグを使用します。
$ cat -n file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
または、以下のように標準出力を新しいファイルに渡すこともできます。
$ cat -n file.txt > newfile.txt
繰り返される空の行を削除することもできます。
$ cat -s -n file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 This is line8
方法3-「awk」コマンドを使用する
awkコマンドを使用してファイルの出力に行番号を追加するには、次のコマンドを実行します。
$ awk 'BEGIN{i=1} /.*/{printf "%d.% s\n",i,$0; i++}' file.txt 1.This is line1 2.This is line2 3.This is line3 4. 5.This is line5 6. 7. 8.This is line8
お気づきかもしれませんが、BEGINパラメーターで開始番号を1として割り当てました。以下に示すように、他の任意の開始番号(たとえば、5)を割り当てることができます。
$ awk 'BEGIN{i=5} /.*/{printf "%d.% s\n",i,$0; i++}' file.txt 5.This is line1 6.This is line2 7.This is line3 8. 9.This is line5 10. 11. 12.This is line8
空白行を考慮したくない場合は、次のコマンドを使用します。
$ awk 'BEGIN{i=0} {if($0 !~ /^$/) {printf ("%d.%s \n",i,$0); i++} else { print $0} } ' file.txt
上記のコマンドを覚えるのが少し難しいと思われる場合は、代わりに次のコマンドを使用してください。
$ awk '{ print FNR " " $0 }' file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
数字とテキストの間のスペースを増やしたい場合は、次のコマンドを実行します。
$ awk '{ print FNR "\t " $0 }' file.txt
方法4-「sed」コマンドを使用する
sedコマンドを使用してファイルの標準出力に行番号を追加するには、次のコマンドを実行します。
$ sed '/./=' file.txt | sed '/./N; s/\n/ /' 1 This is line1 2 This is line2 3 This is line3 5 This is line5 8 This is line8
sedコマンドには、私が最も気に入っている優れた機能があります。 Nを表示できます ファイルの3行目。たとえば、ファイルの3行目を表示するには、次のコマンドを実行します。
$ sed -n 3p file.txt This is line3
方法5-「less」コマンドを使用する
lessコマンドを使用してファイルの標準出力に行番号を付けるには、次のコマンドを実行します。
$ less -N file.txt 1 This is line1 2 This is line2 3 This is line3 4 5 This is line5 6 7 8 This is line8
方法6-「grep」コマンドを使用する
grepコマンド 特定の行を含む行を検索するために使用できます。 行など、特定の文字を含む行に行番号を追加する場合 、実行:
$ grep -n "line" file.txt 1:This is line1 2:This is line2 3:This is line3 5:This is line5 8:This is line8
このコマンドは、検索文字列を含む行にのみ番号を追加することに注意してください。指定されたファイル内の他のすべては省略されます。
そして、それがすべてです。上記のコマンドの詳細については、manページを参照してください。これで、テキストファイルに行番号を追加するさまざまな方法がわかりました。これがお役に立てば幸いです。来るより良いもの。しばらくお待ちください!
乾杯!