Bashのファイルの行数を数える
1. 概要
特定のファイルの大きさを確認したい場合があります。 特定のファイルの合計行数は、そのファイルの大きさを知るのに役立ちます。 Linuxは、他のオペレーティングシステムと同様に、タスクを実行するためのいくつかの方法を提供します。
このチュートリアルでは、Bashを使用して指定されたファイルの行数をカウントする最も一般的な方法を見ていきます。
2. 設定
このクイックチュートリアルでは、 programming.txt というテキストファイルを使用します。このファイルには、現在使用されている主要なプログラミング言語のいくつかが含まれています。
$ cat programming.txt
JavaScript
Java
C
Python
C#
PHP
C++
Go
R
Ruby
行数を手動で数えると、10になります。 行数が増えると、手動で数えるのは面倒で難しくなります。 総行数の取得は、さまざまな端末コマンドを使用して簡単に行うことができます。
3. wc
wc コマンドは、ファイルの行数、文字数、単語数、およびバイト数を検索するために使用されます。
を使用して行数を見つけるにはトイレ、 追加します -l オプション
wc -l コマンドを使用して、ファイルの行数を確認しましょう。
$ wc -l programming.txt
10 programming.txt
出力から、合計行数を示す10という数字と、programming.txt。というファイルの名前が出力されていることがわかります。
シェルに、programming.txtファイルをwc-lコマンドの標準入力にリダイレクトするように指示できます。 これにより、ファイル名なしの行数がわかります。
$ wc -l < programming.txt
10
wc でこれを行う別の一般的な方法は、 cat を使用して、ファイルをコマンドにパイプすることです。
$ cat programming.txt | wc -l
10
4. sed
sed は、入力ファイルの基本的なテキスト変換を実行するために使用されるストリームエディターです。 このコマンドは、主に検索と置換の機能に使用されます。 また、これを使用して、指定したファイルの行数を見つけることもできます。
sed は、行番号を出力するためにさまざまな引数を受け取ることができます。
4.1. sed -n’=’
sed 、 -n オプション、および等号(’=’)の組み合わせを使用できます。 このコマンドは、ファイルの内容なしで行番号を出力します。
$ sed -n '=' programming.txt
1
2
3
4
5
6
7
8
9
10
結果から、コマンドが行数のみを出力したことがわかります。 ただし、このアプローチは大きなファイルには効率的ではありません。
4.2. sed -n’$ =’
ほとんどの場合、行の総数を取得することを好みます。 sed は、-nオプションと‘$=’引数を使用すると便利です。 コマンドの出力は、ファイルの最後の行の番号です:
$ sed -n '$=' programming.txt
10
5. awk
awk コマンドは、すべての行をレコードとして扱います。 次に、awkの組み込みNR変数を使用して、行数をENDセクションに印刷できます。
$ awk 'END { print NR }' programming.txt
10
6. 猫
cat コマンドは、渡されたファイルを引数として連結し、標準出力に出力します。 これは、最もよく使用されるコマンドの1つです。 catコマンドを-nオプションとともに使用すると、ファイルの内容が行番号とともに出力されます。
$ cat -n programming.txt
1 JavaScript
2 Java
3 C
4 Python
5 C#
6 PHP
7 C++
8 Go
9 R
10 Ruby
コマンドが行番号と内容の両方を出力したことがわかります。 このアプローチは、大きなファイルを処理する場合は非実用的であることに注意してください。
7. 結論
この短いチュートリアルでは、Bashを使用してファイル内の行数をカウントするいくつかの方法を学びました。
ファイルの内容を出力するコマンドの中には、大きなファイルを操作するときに非効率的で実用的でないものがあります。
wc -l コマンドを使用するのが最もよく使用され、特定のファイルの行番号を見つける最も簡単な方法でもあります。