📅  最后修改于: 2023-12-03 15:10:43.797000             🧑  作者: Mango
在 Shell 或 Bash 中,我们可以使用内置的排序命令 sort
和 uniq
来查找具有相同数字的下一个更大的数字。
首先,我们需要将数字列表存储在一个文件中,每个数字占一行。假设我们的数字列表存储在文件 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 中,使用 sort
、uniq
和 grep
命令可以方便地查找具有相同数字的下一个更大的数字。只需按照上面的步骤,即可轻松找到重复的数字并查找下一个更大的数字。