Ich habe zwei Dateien
Die erste Datei, nämlich file1, enthält drei Zeilen mit den folgenden Werten
17.503766
17.252752
17.348948
Die zweite Datei, nämlich frame1, enthält folgende Werte
38.730
17.270
24.370
45.180
46.510
Ziel ist es, zu zählen, wie viele dieser Werte aus der Datei Frame1 größer sind als der in Zeile 1 von Datei1 dargestellte Wert.
Es wird also etwas Ähnliches wie unten sein, aber ich weiß nicht, wie ich das als Kriterium festlegen soll
awk '($1>??){ ++count } END{ print count }' 'frame1' > 'file-new'
Antwort1
$ awk 'NR==FNR{ if (FNR==1) tgt=$1; next } $1 > tgt{ ++count } END{ print count+0 }' file1 frame1
4
Mit GNU awk können Sie Folgendes ersetzen:
if (FNR==1) tgt=$1; next
mit folgendem für die Effizienz:
tgt=$1; nextfile
Antwort2
Mit folgendem Befehl versucht
#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