行数が不明なファイルがあります。ファイルの各行には、不明な数のピリオド(.
)が含まれています。
最大期間数を見つける方法は?はいいいえ最も多くのピリオドを含む行を見つけることに興味があります。
たとえば、bashで次のファイルの内容を処理すると、「4」という答えが与えられます。
one.one
two.two.two
three.three.three.three
four..four.
five..five..
six...six
ベストアンサー1
あなたはこれを行うことができますawk
:
awk '{gsub(/[^.]/,""); len=length(); if (len>max) {max=len}} END{printf("Largest count of \".\": %d\n",max)}' file.txt
各行のすべての文字が置き換えられます。いいえ .
、「なし」(つまり、すべてを削除します.
)。次に、残りの文字列の長さを計算し、にある最大値を保存しますmax
。ファイルの終わりに結果が印刷されます。