Zuvor die folgenden Dateien
sample.txt
1 2 3 4 5 6 7 8 9
Es gibt Zeiten, in denen Sie einen Zeilenumbruch für jeweils 3 Ziffern einfügen möchten, wie unten gezeigt.
1 2 3
4 5 6
7 8 9
Ich habe das folgende awk-Skript geschrieben.
{
for(i=1; i<=NF; i++) {
printf "%d ", $i;
if((i % 3) == 0) print "";
}
}
Ich fragte mich: "Wie viele Eingabedateien kann dies unterstützen?" Ich frage mich, ob eine solche Datei in Ordnung ist. .. ..
sample.txt
1 2 3 4 5 6 7 8 9 ... /*Darauf folgt eine große Anzahl von Zahlen*/ .... 9999999999999999999
In der NF-Beschreibung des Dokuments ist möglicherweise etwas geschrieben.
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.)
Ich habe eine Beschreibung wie "Der Maximalwert, der in NF eingegeben werden kann ..." erwartet, aber nichts Besonderes.
Hier ist die Beschreibung, die Sie interessiert.
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."
Natürlich enthält das Dokument eine Beschreibung.
https://www.gnu.org/software/gawk/manual/html_node/Scalar-Constants.html#DOCF30
Es gab eine Seite, die ein Hinweis sein könnte.
https://kumikomiya.com/mastering-float/
Wenn Sie Lust dazu haben, recherchieren Sie etwas mehr.
Manchmal verschiedene Notizen Re * .. Vielen Dank.
Tatsächlich enthält das Handbuch im GNU Awk-Benutzerhandbuch klare Einschränkungen in diesem Bereich (bis Version 5 ist es in der Datei LIMITED im Quellarchiv beschrieben, nicht im Handbuch).
Das ist wahr. (Ich habe es nicht bemerkt: Schweiß :) https://www.gnu.org/software/gawk/manual/gawk.html#Implementation-Limitations
Recommended Posts