conte como os valores podem ser maiores que o número específico que, no entanto, já está em uma linha específica em um arquivo diferente

conte como os valores podem ser maiores que o número específico que, no entanto, já está em uma linha específica em um arquivo diferente

Eu tenho dois arquivos

O primeiro arquivo, ou seja, arquivo1, contém três linhas com os seguintes valores

   17.503766
   17.252752
   17.348948

O segundo arquivo, ou seja, frame1, contém os seguintes valores

  38.730
  17.270
  24.370
  45.180
  46.510

O objetivo é contar quantos desses valores do arquivo frame1 são maiores que o valor apresentado na linha1 do arquivo1.

Então será algo semelhante ao abaixo, porém não sei como definir isso como critério

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

Responder1

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

Com GNU awk você pode substituir:

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

com o seguinte para eficiência:

tgt=$1; nextfile

Responder2

Tentei com o comando abaixo

#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

informação relacionada