Linuxでは、いくつかの方法で1つのタスクを実行できます。同様に、単一または複数のファイルの行数をカウントする場合は、さまざまなコマンドを使用できます。この記事では、大きなファイルに合計行数を印刷するために使用できる方法など、5つの異なる方法を紹介します。
[あなたも好きかもしれません:Linuxで多数のファイルをコピーする方法]
1。 wcコマンドを使用して行数をカウントする
wcとして 「単語数」の略です 「、単語を数えることを唯一の目的とする最も適切で簡単なコマンドです。 、文字 、または行 ファイル内。
distros.txtというテキストファイルの行数をカウントするとします。 。
$ cat distros

"-l"
を使用できます または"--line"
wcコマンドのオプション 次のように:
$ wc -l distros.txt

あなたはそのwcを見ることができます また、空白行をカウントし、ファイル名とともに行数を出力します。合計行数のみを表示したい場合は、ファイルの内容を wc にリダイレクトして、ファイル名を非表示にすることもできます。 左山かっこを使用する(<)
ファイルをパラメータとして渡す代わりに。
$ wc -l <distros.txt

さらに、複数のファイルの複数の行を同時に表示するには、ファイル名をスペースで区切った引数として渡す必要があります。
$ wc --lines distros.txt distros.txt distros.txt

別の方法では、catコマンドを利用することもできます。 ファイルの内容をwcコマンドにリダイレクトします パイプ経由の入力として('|')
。
$ cat distros.txt | wc -l </ pre>![]()
ファイルの行数もカウントされますが、ここでは catを使用します 冗長なようです。
2。 Awkコマンドを使用して行数をカウントする
Awk は、テキスト処理用の非常に強力なコマンドラインユーティリティです。すでにawkを知っている場合 、ファイルの行数を数えるなど、いくつかの目的に使用できます。
[次のこともお勧めします:Grep、Sed、およびAwkを使用してファイル内の空の行を削除する方法]
ただし、初心者レベルの場合は、習得に時間がかかる場合があります。したがって、これを使用してファイル内の合計行数をカウントする場合は、次のコマンドを覚えておいてください。
$ awk'END {print NR}' distros.txt![]()
ここでは、 NR ENDで処理されているファイル内のレコードまたは発言行番号の数です セクション。
3。 Sedコマンドを使用して行数をカウントする
sed また、テキストをフィルタリングおよび編集するための非常に便利なツールです。テキストストリームエディタだけでなく、 sedも使用できます。 コマンドを使用してファイルの行数をカウントする場合:
$ sed -n'$ ='distros.txt![]()
ここで、
'='
現在の行番号を標準出力に出力します。したがって、それを-n
と組み合わせる オプションの場合、引数として渡されたファイルの行の総数をカウントします。4。 Grepコマンドを使用して行数をカウントする
さらに別の便利なパターン検索コマンドgrepを使用する 、
'-e'
を使用して、ファイルの合計行数を取得できます または'--regexp'
および'-c'
または'--count'
オプション。$ grep -e "$" -c distros.txtOr $ grep -e "^" -c distros.txt![]()
ここでは、
'$'
行の終わりと'^'
を表す正規表現です。 行の開始。どちらの正規表現も使用できます。[あなたも好きかもしれません:Linuxで特定のテキスト文字列を含むファイルを見つける方法]
5。 nlおよびcatコマンドを使用して行数をカウントする
合計行数を直接取得する代わりに、ファイルの内容を印刷して、最後の行番号を確認することで合計行数を取得することもできます。そのような目的のために、 nl は、番号付きの行でデータを印刷するための簡単なコマンドです。
$ nl distros.txt![]()
大きなファイルの場合、端末にすべてのデータを表示するのは適切な方法ではないようです。したがって、データをテールコマンドにパイプすることもできます。 最後に番号が付けられた行の一部のみを印刷します。
$ nl distros.txt | tail -n2![]()
同様に、catコマンド
'-n'
を使用 行番号付きのファイルコンテンツを印刷するためにも使用できます。$ cat -n distros.txt | tail -n1![]()
結論
行数を数える5つの方法を学んだ後、あなたはどちらがあなたにとって最良の方法であるか疑問に思う必要がありますか?私の意見では、Linuxの初心者でも上級者でも、wcコマンド は最も簡単で最速のアプローチです。
ただし、 grepなどの他の強力なツールを学習している場合は 、 awk 、および sed 、スキルを磨くためにこれらのコマンドを練習することもできます。
Linux