技術ノート Linux Linux ファイルの行数を数える 6 つの方法

Linux ファイルの行数を数える 6 つの方法

Linux ファイルの行数を数える 6 つの方法

重要なポイント

  • wc コマンドに「-l」オプションを付けて使用すると、ファイルの行数を確認できます (wc -l filename)。これにより、ファイルの名前も出力されます。
  • sed コマンドと「-n」オプションを組み合わせると、行数を取得することもできます (sed -n ‘=’ filename)。このコマンドは、ファイルの内容を含まずに行番号を出力します。
  • 組み込みの「NR」変数を使用して awk コマンドを実行して、ファイル (awk ‘END {print NR}’ ファイル名) の行数を取得します。

Linux ファイルの行数を数えたいですか?いくつかの異なる方法をご紹介します。行数をカウントすると、特定のファイルがどのくらい小さいか大きいかに関する情報が得られます。

ファイル内の行数を数える理由

すべてのコンピューター ファイルと同様、Linux ファイルには さまざまなサイズ があります。ファイルには大きいものもあれば小さいものもあります。 Linux ユーザーは、システムのディスク領域を管理し、ストレージ不足を避けるためにファイル サイズを頻繁に確認する必要があります。これを行う 1 つの方法は、大まかではありますが、ファイルの行数を数えることです。一般に本の厚さがその長さを示すのと同じように、状況によってはファイル内の行数によってそのサイズの相対的な感覚が得られることがあります。

ファイルの行数をカウントすることは、さまざまな理由で役立ちます。ファイルの形式や構造を確認できます。また、ソース コード ファイル、構成ファイル、 ログ ファイル などのテキスト ファイルのサイズと複雑さを測定することもできます。

行数は、他のコマンドの出力をフィルタリングして分析するのに役立ちます。たとえば、システム ログ ファイルの行数を分析できます。これは、システム ログ ファイルに存在するエラーのおおよその数を確認するのに役立ちます。

行数からは、ディレクトリ内のアイテムの合計の推定値も得られます。ファイル内の行数を経時的にカウントすることで、行の追加や削除など、ファイルへの変更を追跡できます。これは、ソフトウェアのデバッグやドキュメントの変更の追跡に役立ちます。

Linux ファイルの行数を数える 6 つの方法

Linux でファイル内の行を数える方法

Linux には、ファイル内の行数を簡単に把握できるさまざまなコマンドとツールが用意されています。これらのコマンドには、 wc sed grep 、および awk など があります。 Bash スクリプトは、 ファイル内の行数の計算にも役立ちます。これらの各方法を例を挙げて説明します。

Linux ファイルの行数を数える 6 つの方法

1. wc を使用してファイル内の単語、行、文字を数える

ファイル内の行数をカウントする簡単な方法が必要ですか? wc コマンドを使用するだけです。このコマンドは、ファイル内の単語数、行数、文字数を出力します。

サンプル ファイル example.txt について考えてみましょう。このファイルには、いくつかの初心者向け Linux コマンドのリストが含まれています。

example.txt という名前の指定されたファイルの行数をカウントするには、wc コマンドの後にファイル名を指定して -l フラグを追加します。

 wc -l example.txt

上記の出力には行数のみが表示されます。ファイルに関する詳細情報を取得するには、オプションを指定せずに wc コマンドを使用します。 wc コマンドは、フラグを指定しないと、ファイルの単語数、行数、文字数を 1 つのコマンドで出力します。

トイレの例.txt

ここで、example.txt、new.txt、new1.txt という名前の 3 つのファイルがあるとします。複数のファイルの行数をカウントするには、 -l オプションとファイル名を指定して wc コマンドを使用するだけです。

 wc -l example.txt new.txt new1.txt

wc コマンドは、ディレクトリ内に存在するすべてのファイルの行数を表示することもできます。これを行うには、wc コマンドに -l オプションを付け、その後にアスタリスク演算子を付けます。

トイレ -l *

上記のすべての場合と同様、出力にはファイル名と行数が表示されます。ファイル名なしで行数​​を表示するには、次を実行します。

 wc -l <​​ example.txt

ここで、wc コマンドは入力リダイレクトを使用します。これにより、サンプル ファイルの内容が wc コマンドに渡されます。その後、ファイル名を表示せずに直接行数をカウントします。

ファイル内の行数をカウントするもう 1 つの方法は、cat コマンドの出力を wc -l コマンドでパイプ処理することです。

猫の例.txt |トイレ -l 

Linux ファイルの行数を数える 6 つの方法

2. sedを使用してファイルの行番号をカウントして表示する

sed コマンド (ストリーム エディター) は、Linux でのテキスト操作に不可欠なコマンド ライン ツールです。テキストの挿入、削除、置換、追加など、ファイルに対してさまざまな操作を実行します。 sed コマンドは、ファイルまたは標準入力から入力を受け取ります。

sed コマンドは、指定したファイルの総行数をカウントすることもできます。行番号を出力するには、さまざまな引数を指定できます。

-n オプションと等号を指定して sed コマンドを実行すると、行番号を順番に数えて別の行に表示します。

 sed -n '=' 例.txt

場合によっては、ファイル内の各行の個別の行番号を取得するよりも、合計行数を取得する方が効率的です。 sed コマンドにオプション -n および $= を指定すると、ファイル内の合計行数をカウントして表示できます。 $= は ファイルの最後の行を意味します。これにより、行番号のみが標準出力に出力されます。

ファイル内の全体の行数を取得するには、次を使用します。

 sed -n '$=' 例.txt 

Linux ファイルの行数を数える 6 つの方法

3. grep を使用してファイル内の行数をカウントする

grep コマンドは、特にファイル内のパターンを検索するために使用されます。それだけでなく、定義されたパターンに一致する行または一致しない行の総数も得られます。定義されたパターンは、検索対象を指定する正規表現です。

ファイルを指定しない場合、grep は標準入力から読み取ります。

「 Linux ファイルの行数を数える 6 つの方法」に関するベスト動画選定!

【Linux技術動画】Linux基礎コマンド動画①(リスト、ディレクトリ・ファイル作成)
【Linux入門】初心者向け!Linuxの基本的なコマンド操作を学ぼう!  〜 Ubuntu 環境で実演〜

grep コマンドに -c フラグを追加して、特定のパターンに一致する行数を確認します。たとえば、ファイル内の「Command」という単語を含む行を数えるには、次のコマンドを実行します。

 grep -c コマンド例.txt

特定の単語やパターンを含まない行をフィルタリングして簡単にカウントすることもできます。

これには、grep で -v フラグを使用します。

 grep -c -v awk example.txt

ドットとアスタリスク記号を含む別の正規表現パターン (「.*」) があります。任意の文字が 0 個以上出現する行と一致します。上の 2 つのコマンドとは異なり、特定の単語は検索されません。これは、example.txt 内の 1 つ以上の文字を含む行数を単純にカウントして出力します。

 grep -c ".*" 例.txt

-c フラグを使用すると、パターンに一致する実際の行内容ではなく、行数のみが表示されます。

上記の出力にファイル名を追加するには、単に -H フラグを含めます。

 grep -Hc ".*" example.txt

4. awk を使用してファイル内の総行数を出力する

awk コマンドは、テキスト処理、およびデータ抽出およびレポート用のツールとして使用されます。特にパターン マッチングとフィールドとレコードの処理に優れています。

awk コマンドを使用すると、ファイル内の行数をカウントできます。 AWK プログラミング言語を使用して、ファイル内のレコード (行) の合計数を出力します。

 awk 'END {print NR}' example.txt

指定された awk スクリプト END {print NR} は、example.txt ファイル内のすべての行を処理した後に実行されます。スクリプトは、処理されたレコード (行) の総数を表す NR の値を出力するように awk に指示します。

5. nl コマンドを使用したファイル内の行のリストとカウント

nl コマンドは、指定されたファイルの内容に行番号を追加します。行番号付きのファイルを表示または印刷する場合に便利です。 nl コマンドを filename とともに使用すると、指定したファイル内の行数をカウントできます。

 nl 例.txt

このコマンドは、example.txt ファイル内の行番号と行の内容の両方を表示します。

ただし、これは、特に大きなファイルの場合、ファイルの行数を取得する効率的な方法ではありません。これには、行数をカウントするという特定のタスクには必要のない追加の処理と出力のレンダリングが含まれます。数千行あるファイルを想像してください。合計行数を取得するには下までスクロールする必要があります。

他の情報なしで合計行数を知りたい場合は、nl コマンドの出力を tail と awk でパイプ処理します。

 nl 例.txt |尾-1 | awk '{print $1}'

nl コマンドは、各行の先頭に行番号を追加します。次に、nl コマンドの出力が tail コマンドにパイプされ、入力の最後の行が表示されます。 -1 オプションは、tail コマンドに 1 行だけを表示するように指示します。ここまでの出力は「10 uname コマンド」です。

次に、この出力は awk コマンドへの入力として与えられ、入力から特定のフィールドが出力されます。 {print $1} 引数は、awk コマンドに最初のフィールド (行番号) を出力するように指示します。たとえば、入力が「10 uname Command」の場合、awk コマンドは最初のフィールド (この場合は行番号 10) を出力します。

6. Bash スクリプトを使用してファイル内の行数をカウントする

Linux システム上の便利なツールである Bash スクリプトは、タスクを自動化するためによく使用されます。ファイル内の行数をカウントするために使用することもできます。 wc コマンドを使用してファイルの行数を出力するカスタム Bash スクリプトを作成できます。

 #!/bin/bash
filename= $1
linecount=$(wc -l < "$filename" )
echo "The file $filename has $linecount lines."

この Bash スクリプトは、 -l フラグを指定して wc コマンドを使用します。 wc コマンドは行数を取得し、それを linecount 変数に保存します。スクリプトの最後で、メッセージが端末にエコーされ、ファイル名とそれに対応する行数が表示されます。

上記のスクリプトを使用するには、単に「.sh」拡張子のファイル (count_lines.sh) として保存し、 chmod を使用して実行可能にします。

 chmod +x count_lines.sh

ここで、 ./ 表記の後にスクリプト名を続けてスクリプトを実行します。

 ./count_lines.sh example.txt

ファイル example.txt の合計行数が標準出力に取得されます。

Linux ファイルの行数を数える 6 つの方法

Linux ファイル システムを徹底的に理解する

Linux では、システム上のファイルを把握することが重要です。行を数えるのと同様に、ディレクトリ内の Linux ファイルを数えるのも、システムをより効率的に管理するのに役立ちます。これは、どのファイルが最も多くのスペースを占有しているか、何を削除し、何を保持するかを知るのに役立ちます。

Linux のファイル構造を 理解することも重要です。 Linux ファイルの主要な柱である i ノード について考えてみましょう。システム内でこれらが不足すると、大変な日々を過ごすことになります。これらは数が非常に限られており、システムに重要なデータを保存します。

これらを理解すると、タスクの管理と実行に役立つだけでなく、システムのメンテナンスタスクも容易になります。