每个文件都有相似的内容:
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
它将根据文件输入层次结构返回最高的数字(它只会从 file2 中找到最高的数字,即使最高的数字在 file1 中为数字 8:)
答案1
您可以使用最后一个命令,但使用 grep-ho
代替-o
:
grep -ho 'number\s[0-9]*' file1.txt file2.txt | sort -nr | head -1
-h
将从导致问题的结果中删除文件名。