1. ホーム
  2. bash

[解決済み] コマンドラインツールを使ってファイルの行の長さを数える

2023-05-12 14:45:19

質問

問題点

さまざまな長さの行がたくさんある長いファイルがある場合、それぞれの行の長さの出現回数をどのように数えることができますか?

例を挙げます。

ファイル.txt

this
is
a
sample
file
with
several
lines
of
varying
length

実行中 count_line_lengths file.txt を実行すると、与えることになります。

Length Occurences
1      1
2      2
4      3
5      1
6      2
7      2

アイデア?

どのように解決するのですか?

これは

  • は行の長さを awk で、次に
  • は(数値)行の長さを sort -n でソートし、最後に
  • は一意な行長の値を数えます。 uniq -c .
$ awk '{print length}' input.txt | sort -n | uniq -c
      1 1
      2 2
      3 4
      1 5
      2 6
      2 7

出力では、最初の列が与えられた長さの行数で、2番目の列が行の長さです。