找到文件中的最大数字

时间:2017-01-09 13:05:42

标签: linux bash shell

我正在尝试从文件中找到字符串中的最大数字。例如,在文件password.txt中我们有:

 jaime:45:/home/jaime:/bin/bash
 sofia:113:/home/sofia:/bin/bash
 marta:2015:/home/marta:/bin/bash
 pedro:2024:/home/pedro:/bin/bash 

所以最高的数字应该是2024,我们必须将它保存到变量中: -

number=2024

我使用grepawksed甚至sort尝试过多项内容,但没有任何解决方案。

4 个答案:

答案 0 :(得分:4)

我建议:

PlotlyJS

答案 1 :(得分:1)

Awk 救援!

awk -F":" 'BEGIN{max=0}{if(($2)>max)  max=$2}END {print max}' file
2024

将其保存在变量

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

答案 2 :(得分:1)

@Thotensar:如果您的Input_file与示例输入所示相同,那么以下内容可能对您有帮助。

awk -F":" '{Q=Q>$2?Q:$2} END{print Q}'  Input_file

我希望这会对你有所帮助。

答案 3 :(得分:0)

试试这个:

number=$(grep -o '[0-9]*' password.txt | sort -nr | head -1)