Cuente cuántos valores son mayores que un número específico que, sin embargo, ya está en una línea específica en un archivo diferente.

Cuente cuántos valores son mayores que un número específico que, sin embargo, ya está en una línea específica en un archivo diferente.

tengo dos archivos

El primer archivo, concretamente el archivo1, contiene tres líneas con los siguientes valores

   17.503766
   17.252752
   17.348948

El segundo archivo, concretamente el marco1, contiene los siguientes valores

  38.730
  17.270
  24.370
  45.180
  46.510

El objetivo es contar cuántos de esos valores del archivo frame1 son mayores que el valor que se presenta en la línea1 del archivo1.

Será algo similar a lo siguiente, sin embargo, no sé cómo establecer esto como criterio.

awk '($1>??){ ++count } END{ print count }' 'frame1' > 'file-new'

Respuesta1

$ awk 'NR==FNR{ if (FNR==1) tgt=$1; next } $1 > tgt{ ++count } END{ print count+0 }' file1 frame1
4

Con GNU awk puedes reemplazar:

if (FNR==1) tgt=$1; next

con lo siguiente para mayor eficiencia:

tgt=$1; nextfile

Respuesta2

Probado con el siguiente comando

#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

información relacionada