📌  相关文章
📜  查找具有相同数字的下一个更大的数字 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:10:43.797000             🧑  作者: Mango

查找具有相同数字的下一个更大的数字 - Shell-Bash

在 Shell 或 Bash 中,我们可以使用内置的排序命令 sortuniq 来查找具有相同数字的下一个更大的数字。

首先,我们需要将数字列表存储在一个文件中,每个数字占一行。假设我们的数字列表存储在文件 numbers.txt 中。

步骤一:排序数字列表

我们需要使用 sort 命令对数字列表进行排序,这样相同的数字就会排在一起。下面是一个示例命令,将数字列表按升序排序:

sort -n numbers.txt > sorted_numbers.txt

这将排序后的数字列表存储在文件 sorted_numbers.txt 中。

步骤二:查找相同的数字

接下来,我们需要使用 uniq 命令查找相同的数字。下面是一个示例命令,查找数字列表中相同的数字:

uniq -d sorted_numbers.txt > duplicate_numbers.txt

这将查找出在数字列表中重复出现的数字,并将它们存储在文件 duplicate_numbers.txt 中。

步骤三:查找下一个更大的数字

有了重复的数字列表,我们现在可以使用 grep 命令查找下一个更大的数字。下面是一个示例命令,查找数字列表中所有重复出现的数字后面的下一个更大的数字:

while read number; do
  grep -A 1 "$number" sorted_numbers.txt | tail -1
done < duplicate_numbers.txt

这将依次查找数字列表中所有重复出现的数字后面的下一个更大的数字,并将它们输出到屏幕上。

总结

在 Shell 或 Bash 中,使用 sortuniqgrep 命令可以方便地查找具有相同数字的下一个更大的数字。只需按照上面的步骤,即可轻松找到重复的数字并查找下一个更大的数字。