複数のファイルで特定の文字列の後の最大数を見つける

複数のファイルで特定の文字列の後の最大数を見つける

各ファイルには同様の内容があります。

number 1:
asdfa11sdfsadf
number 2:
asdfa12sdfsadf
number 1:
asdfa1sdfsadf
number 3:
asdfa33sdfsadf

返品

3 or number 3: are equally good.

試験を終えた:

max="$( awk -F":" 'BEGIN{max=0}{if(($2)>max)  max=$2}END {print max}' file)"
printf "%d\n" "$max"

33は返しますが、3は返しません。

また試しました:

grep -o 'number\s[0-9]*' file1.txt file2.txt | sort -nr | head -1

ファイル入力階層に基づいて最も高い数字を返します(最も高い数字がfile1の数字8の場合でも、file2内の最も高い数字のみを検索します。)

答え1

最後のコマンドを使用できますが、-ho代わりにgrepを使用してください-o

grep -ho 'number\s[0-9]*' file1.txt file2.txt | sort -nr | head -1

-h問題を引き起こした結果からファイル名が削除されます。

関連情報