0
votes

Trouver le minimum et imprimer la valeur de colonne correspondante

J'ai un jeu de données tel que indiqué ci-dessous:

35.7412 342 

awk

5 commentaires

0 $ 0 La variable contient l'enregistrement entier. Essayez Imprimer 0 $


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 était zéro. Vous devez tester pour min! = "" , pas seulement min , avant l'impression. Pourquoi testez-vous $ 1 + 0 == $ 1 - 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 - vous ne l'utilisez jamais.


3 Réponses :


3
votes

Pourriez-vous s'il vous plaît essayer de suivre (écrit et testé dans gnu awk ). xxx

Explication: > Ajout d'une explication détaillée pour le code ci-dessus. xxx


0 commentaires

1
votes

Utilisation de bash xxx

tentative de OP xxx


0 commentaires

4
votes
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 commentaires