특정 숫자보다 큰 값이 몇 개인지 계산하지만 해당 숫자는 이미 다른 파일의 특정 줄에 있습니다.

특정 숫자보다 큰 값이 몇 개인지 계산하지만 해당 숫자는 이미 다른 파일의 특정 줄에 있습니다.

파일이 두 개 있어요

첫 번째 파일(예: 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

관련 정보