[LINUX] J'ai utilisé gawk pour connaître la valeur maximale qui entre dans NF.

Déclencheur

Auparavant, les fichiers suivants

sample.txt


1 2 3 4 5 6 7 8 9

Il y a des moments où vous souhaitez insérer un saut de ligne pour chaque 3 chiffres comme indiqué ci-dessous.

1 2 3
4 5 6
7 8 9

J'ai écrit le script awk suivant.

{
    for(i=1; i<=NF; i++) {
        printf "%d ", $i;
        if((i % 3) == 0) print "";
    }
}

Je me suis demandé: "Combien de fichiers d'entrée peut-il prendre en charge?" Je me demande si un tel fichier est correct. .. ..

sample.txt


1 2 3 4 5 6 7 8 9 ... /*Ceci est suivi d'un grand nombre de nombres*/ .... 9999999999999999999

Enquête (document)

Quelque chose peut être écrit dans la description NF du document.

https://www.gnu.org/software/gawk/manual/gawk.html#index-NF-variable

NF is a predefined variable whose value is the number of fields in the current record. awk automatically updates the value of NF each time it reads a record. No matter how many fields there are, the last field in a record can be represented by $NF. So, $NF is the same as $7, which is ‘example.’. If you try to reference a field beyond the last one (such as $8 when the record has only seven fields), you get the empty string. (If used in a numeric operation, you get zero.)

Je m'attendais à une description du genre "La valeur maximale qui peut être saisie dans NF ...", mais rien de particulier.

Sondage (Guguru)

Voici la description qui vous tient à cœur.

https://stackoverflow.com/questions/8857866/printing-long-integers-in-awk#comment11152277_8858003

Correct. According to info gawk: "The internal representation of all numbers, including integers, uses double-precision floating-point numbers. On most modern systems, these are in IEEE 754 standard format."

Certes, il y a une description dans le document.

https://www.gnu.org/software/gawk/manual/html_node/Scalar-Constants.html#DOCF30

Alors, quelle est la distance maximale?

Il y avait une page qui pourrait être un indice.

https://kumikomiya.com/mastering-float/

Si vous en avez envie, faites un peu plus de recherches.

Postscript (04/08/2020)

Des commentaires ont été reçus à l'adresse Notes diverses occasionnelles Re * .. Merci beaucoup.

En fait, le manuel Le Guide de l'utilisateur GNU Awk énonce clairement les restrictions dans ce domaine (jusqu'à la version 5, il est décrit dans le fichier appelé LIMITED dans l'archive source, pas dans le manuel).

C'est vrai. (Je n'ai pas remarqué: transpirer :) https://www.gnu.org/software/gawk/manual/gawk.html#Implementation-Limitations

Recommended Posts

J'ai utilisé gawk pour connaître la valeur maximale qui entre dans NF.
J'ai utilisé Python pour découvrir les choix de rôle des 51 "Yachts" dans le monde.
J'ai mesuré 6 méthodes pour obtenir l'indice de la valeur maximale (valeur minimale) de la liste
J'ai essayé de résumer les opérations susceptibles d'être utilisées avec numpy-stl
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ②
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ④
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel x Python ⑤
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ①
J'ai étudié comment rationaliser le flux de travail avec Excel x Python ③
J'ai essayé de mettre Pytest dans la bataille réelle
J'ai senti que j'avais porté le code Python en C ++ 98.
Extraire la valeur maximale avec les pandas et modifier cette valeur
Osez remplir le formulaire sans utiliser de sélénium
J'ai essayé de trouver l'entropie de l'image avec python
Je veux initialiser si la valeur est vide (python)
J'ai essayé de trouver la moyenne de plusieurs colonnes avec TensorFlow
Hériter de la bibliothèque standard pour trouver la valeur moyenne de Queue
Trouver l'index de la valeur maximale (valeur minimale) d'un tableau multidimensionnel
J'ai essayé de résumer le code souvent utilisé dans Pandas
J'ai essayé de résumer les commandes souvent utilisées en entreprise
J'ai essayé de savoir comment rationaliser le flux de travail avec Excel × Python, mon résumé d'article ★
J'ai essayé de savoir dans quelle langue ce logiciel dont je m'occupe toujours est écrit
J'ai essayé de l'étendre pour que la base de données puisse être utilisée avec le logiciel d'analyse de Wiire
J'ai créé une application pour découvrir à qui ressemblent les membres des Pirates du Chapeau de Paille
J'ai essayé de trouver la différence entre A + = B et A = A + B en Python, alors notez
J'ai essayé d'en savoir le plus possible sur GIL que vous devriez savoir si vous faites un traitement parallèle avec Python