파일이 두 개 있어요
첫 번째 파일, 즉 file1에는 다음 값이 포함된 세 줄이 포함되어 있습니다.
17.503766
17.252752
17.348948
두 번째 파일, 즉 Frame1에는 다음 값이 포함됩니다.
38.730
17.270
24.370
45.180
46.510
목표는 프레임1 파일의 값 중 파일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