ファイルの 1 行で特定の文字 (".") の最大数を検索する Bash スクリプト

ファイルの 1 行で特定の文字 (

行数が不明なファイルがあります。ファイルの各行には、不明な数のピリオド(.)が含まれています。

最大期間数を見つける方法は?はいいいえ最も多くのピリオドを含む行を見つけることに興味があります。

たとえば、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。ファイルの終わりに結果が印刷されます。

おすすめ記事