J'ai un jeu de données tel que indiqué ci-dessous:
35.7412 342
3 Réponses :
Pourriez-vous s'il vous plaît essayer de suivre (écrit et testé dans gnu Explication: EM> STR> > Ajout d'une explication détaillée pour le code ci-dessus. P> awk code>).
Utilisation de bash tentative de OP p>
awk ' FNR == 1 { if (NR > 1) { print rec } min = $1 } $1 <= min { min = $1 rec = $0 } END { print rec } ' *.txt When doing min/max calculations, rather than initializing min/max to some arbitrary value, simply always initialize min/max to the first value read and then it'll work no matter what values your file contains, even if they're all negative values.
0 $ 0 code> La variable contient l'enregistrement entier. Essayez
Imprimer 0 $ code>
Imprimer min, 0 $ dans le script ne fonctionne pas
Enregistrez-le dans la variable comme vous avez enregistré une valeur minimale
Consultez mon édition -> Stackoverflow.com/a/61438189/12991188
Votre script existant échouerait si
min code> était zéro. Vous devez tester pour
min! = "" Code>, pas seulement
min code>, avant l'impression. Pourquoi testez-vous
$ 1 + 0 == $ 1 code> - Votre entrée réelle contient-elle des lignes où 1 $ n'est pas un nombre? Pourquoi économisez-vous un nom de fichier dans
fn code> - vous ne l'utilisez jamais.