Linux 逐行比较两个文件,并使用shell脚本找到最大和最小的文件数

Linux 逐行比较两个文件,并使用shell脚本找到最大和最小的文件数,linux,shell,unix,Linux,Shell,Unix,我有两个文件,每行都有一个数字,需要比较两个文件以找到最大和最小的数字 例如:- 文件1 文件2 需要得到66作为最大数,2作为最小数 如果有人在我需要关注的命令方面指导我,那将是一个很大的帮助,因为我刚刚开始学习shell脚本 使用awk: $ head f1 f2 ==> f1 <== 10 32 14 ==> f2 <== 9 42 4 $head f1 f2 ==>f1 f2您可以使用: sort -n file1 file2 > _sorted.tmp

我有两个文件,每行都有一个数字,需要比较两个文件以找到最大和最小的数字

例如:-

文件1

文件2

需要得到66作为最大数,2作为最小数


如果有人在我需要关注的命令方面指导我,那将是一个很大的帮助,因为我刚刚开始学习shell脚本

使用
awk

$ head f1 f2
==> f1 <==
10
32
14

==> f2 <==
9
42
4
$head f1 f2
==>f1 f2您可以使用:

sort -n file1 file2 > _sorted.tmp
min=$(head -1 _sorted.tmp)
max=$(tail -1 _sorted.tmp)
没有临时文件:

arr=( $(sort -n file1 file2) )
min=${arr[1]}
max=${arr[@]:(-1)}
连锁反应:

sort --numeric --unique nu1 nu2 | sed '/^$/d' | sed -n '1p;$p'
 |      |         |      |  |            |           |   |  |
 |      |         |      |  |            |           |   |  +---- print last
 |      |         |      |  |            |           |   +------- print first
 |      |         |      |  |            |           +----------- no print
 |      |         |      |  |            +----------------------- remove empty
 |      |         |      |  +------------------------------------ file2
 |      |         |      +--------------------------------------- file1
 |      |         +---------------------------------------------- unique
 |      +-------------------------------------------------------- numeric
 +--------------------------------------------------------------- sort
如果100%确定任何文件中没有空行,则可以删除
sed'/^$/d'
部分。如果是,则还可以从
排序
中删除
唯一

换句话说,满足这两个标准同样有效:

sort --numeric nu1 nu2 | sed -n '1p;$p'
简而言之:

sort -n nu1 nu2 | sed -n '1p;$p'

如果不想存储值,也可以是一行

排序-n文件1文件2 |头-1
sort-n file1 file2 | tail-1

如果不编码,至少提供输入和输出的示例。是否需要从两个文件的所有数字中找到一个最大和一个最小的数字?是的,并且每行在两个文件中只包含一个数字,因此标题具有误导性,不需要“逐行”比较?谢谢,我其实在想是否应该写这样一个简单的答案:)啊,很抱歉忽略了这一点,它现在已经修好了。
sort --numeric --unique nu1 nu2 | sed '/^$/d' | sed -n '1p;$p'
 |      |         |      |  |            |           |   |  |
 |      |         |      |  |            |           |   |  +---- print last
 |      |         |      |  |            |           |   +------- print first
 |      |         |      |  |            |           +----------- no print
 |      |         |      |  |            +----------------------- remove empty
 |      |         |      |  +------------------------------------ file2
 |      |         |      +--------------------------------------- file1
 |      |         +---------------------------------------------- unique
 |      +-------------------------------------------------------- numeric
 +--------------------------------------------------------------- sort
sort --numeric nu1 nu2 | sed -n '1p;$p'
sort -n nu1 nu2 | sed -n '1p;$p'