我有两个文件
第一个文件(即 file1)包含三行,其值如下
17.503766
17.252752
17.348948
第二个文件,即frame1包含以下值
38.730
17.270
24.370
45.180
46.510
目标是计算第 1 帧文件中的值中有多少大于第 1 行文件中显示的值。
所以会类似于下面的内容,但我不知道如何将其设置为标准
awk '($1>??){ ++count } END{ print count }' 'frame1' > 'file-new'
答案1
$ awk 'NR==FNR{ if (FNR==1) tgt=$1; next } $1 > tgt{ ++count } END{ print count+0 }' file1 frame1
4
使用 GNU awk 您可以替换:
if (FNR==1) tgt=$1; next
为了提高效率,采用以下方法:
tgt=$1; nextfile
答案2
尝试使用以下命令
#Below Command fetches highest value from file1
k=awk 'BEGIN{sum=0}($1 > sum){sum=$1}END{print sum}' file1
#Below command will display value from file2 which is greater when compared with file1
awk -v k="$k" '$1 > k {print $1}' file2