Was ist NR eingebaut?
"NR" ist eine spezielle integrierte Variable von awk, die für "Anzahl der Datensätze" steht. Diese Variable wird verwendet, um die Anzahl der in den angegebenen Dateien vorhandenen Datensätze zu behandeln.
Beispiele für die Verwendung von NR integriert in Ubuntu 20.04:
Um weiter über die Verwendung von NR eingebauten awk zu erfahren, müssen Sie die folgenden Beispiele durchlaufen, die auf einem Ubuntu 20 implementiert wurden.04 System. Bevor wir jedoch über diese Beispiele sprechen, möchten wir Ihnen die Beispieltextdatei, die wir in unserem Heimverzeichnis namens Namen erstellt haben.txt. Diese Datei enthält die Namen einiger Personen, gefolgt von ihrem jeweiligen Alter. Wir werden die gleiche Textdatei verwenden, um alle vier Beispiele zu demonstrieren. Diese Textdatei lautet wie folgt:
Beispiel 1: Zeilennummern mit den Datensätzen in einer Textdatei anzeigen:
In diesem Beispiel möchten wir alle Datensätze unserer Zieltextdatei anzeigen, damit jeder Datensatz nach einer aufsteigenden Reihenfolge mit einer bestimmten Zeilennummer zugewiesen wird. Sie hätten oben bemerkt, dass die von uns verwendete Textdatei einige Datensätze enthält, aber sie waren ohne Zeilennummern. Darüber hinaus beziehen sich die hier drüben auf die unterschiedlichen Textzeilen in einer Textdatei. Wenn beispielsweise eine Textdatei über fünf verschiedene Zeilen enthält, werden wir sagen, dass sie über fünf verschiedene Datensätze verfügt. Um die oben genannte Aussage möglich zu machen, ich.e., Zeigen Sie Zeilennummern zusammen mit den Datensätzen unserer Zieltextdatei an, wir werden den folgenden Befehl in unserem Terminal ausführen:
$ awk 'print nr, $ 0' Namen.txt
In diesem Befehl wird das Schlüsselwort "awk" unserem System mitgeteilt, dass wir versuchen, einen Befehl mit der awk -Skriptsprache auszuführen. Anschließend haben wir einen "Druck" -Befehl, gefolgt vom Schlüsselwort "NR" und "$ 0" Spezialvariable. Dieser Teil des Befehls dient nun dem Ziel, Liniennummern zusammen mit den in unserer Zieltextdatei vorhandenen Datensätzen anzuzeigen. Schließlich haben wir den Namen unserer Zieltextdatei in diesem Befehl angegeben, damit sie leicht gelesen werden kann. Wir haben diesen Befehl einfach ausgeführt, indem wir die Eingabetaste drücken.
Sie können auf dem Terminal leicht erkennen, dass der Inhalt unserer Zieltextdatei, ich.e., Alle Datensätze unserer Textdatei wurden zusammen mit ihren jeweiligen Zeilennummern angezeigt, wie im Bild unten gezeigt:
Beispiel Nr. 2: Anzeigen der Datensätze einer Textdatei in einem bestimmten Bereich:
Manchmal möchten Sie nicht, dass alle Datensätze der Datei weiter angezeigt oder verarbeitet werden. Vielmehr möchten Sie nur die Datensätze verwenden, die in einem bestimmten Bereich liegen. In diesem Beispiel möchten wir daher, dass alle Zieltextdateidatensätze auf dem Terminal angezeigt werden, das in unserem angegebenen Zeilennummernbereich liegt. Um dies weiter zu verstehen, müssen Sie zunächst den folgenden Befehl betrachten, mit dem dieser Zweck erfüllt wird:
$ awk 'nr == 4, nr == 8 drucken nr, $ 0' Namen.txt
In diesem Befehl wird das Schlüsselwort "awk" unserem System mitgeteilt, dass wir versuchen, einen Befehl mit der awk -Skriptsprache auszuführen. Dann haben wir die Anweisung 'Nr == 4, nr == 8', die den zu angezeigten Datensatzbereich festlegt.e., Durch die Verwendung dieser bestimmten Anweisung werden unsere Datensätze von den Zeilennummern 4 bis 8 (inklusive) auf dem Terminal angezeigt. Sie können diesen Bereich nach Ihrer eigenen Wahl definieren. Danach haben wir den Befehl "Druck", gefolgt vom Schlüsselwort "NR" und der Spezialvariable "$ 0". Dieser Teil des Befehls dient nun dem Ziel, Liniennummern zusammen mit den angegebenen Datensätzen in unserer Zieltextdatei anzuzeigen. Schließlich haben wir den Namen unserer Zieltextdatei in diesem Befehl angegeben, damit sie leicht gelesen werden kann. Wir haben diesen Befehl einfach ausgeführt, indem wir die Eingabetaste drücken.
Sie können sich leicht auf dem Terminal visualisieren, das aufgrund der Ausführung dieses Befehls, dem spezifischen Inhalt unserer Zieltextdatei, i.e., Alle Datensätze unserer Textdatei, die im angegebenen Bereich liegen, wurden zusammen mit ihren jeweiligen Zeilennummern angezeigt, wie im Bild unten gezeigt:
Beispiel 3: Anzeige der Zeilennummern mit den spezifischen Datensätzen in einer Textdatei, die durch das spezielle Symbol „-“ getrennt ist:
Um den Inhalt einer Textdatei lesbarer zu gestalten, möchten Sie möglicherweise die Zeilennummern von den Datensätzen unter Verwendung eines speziellen Symbols trennen. Darüber hinaus möchten Sie möglicherweise eine bestimmte Spalte aller Datensätze, die angezeigt werden sollen. Wir haben dieses Beispiel so gestaltet, dass die Methode zur Anzeige der Zeilennummern mit der spezifischen Spalte der Datensätze einer Textdatei angezeigt wird, die durch das spezielle Symbol „-“ getrennt ist. Um diese Art von Ausgabe zu erreichen, müssen Sie den folgenden Befehl ausführen:
$ awk 'drucken nr "-", $ 1' Namen.txt
Dieser Befehl ähnelt dem Befehl, den wir für unser erstes Beispiel ausgeführt haben. Der einzige Unterschied besteht jedoch darin, dass wir den darin enthaltenen „-“ -Teparator angegeben haben. Darüber hinaus haben wir anstatt die Spezialvariable „$ 0“ zu verwenden.
In der unten gezeigten Ausgabe sehen Sie, dass nur die erste Spalte aller Datensätze unserer Zieltextdatei angezeigt wurde. Die Liniennummern waren jedoch mit Hilfe des „-“ Spezialsymbols gut von den Aufzeichnungen getrennt.
Beispiel 4: Anzeige der Gesamtzahl der Datensätze in einer Textdatei:
Manchmal möchten Sie möglicherweise nur, dass die Gesamtzahl der Datensätze der Datei auf dem Terminal angezeigt wird. Dazu müssen Sie lediglich den folgenden Befehl ausführen:
$ awk 'Ende Druck nr' Namen.txt
In diesem Befehl teilt das Schlüsselwort "End" dem System mit, dass es nur die Anzahl der Datensätze der Textdatei zählen muss, und die Anweisung "NR drucken" anweis.
Wir wissen, dass wir insgesamt 10 Datensätze in unserer Zieltextdatei hatten, und dies wird auch aus der Ausgabe des oben genannten Befehls überprüft, das im folgenden Bild angezeigt wird:
Abschluss:
Dieser Artikel wurde mit einer kurzen Einführung in die awk -Skriptsprache eröffnet. Der Kern dieses Leitfaden. Zunächst gaben wir einen Überblick über diese spezielle Variable, gefolgt von vier verschiedenen Beispielen, mit denen Sie ihre Verwendung verstehen können. Sobald Sie diese Beispiele durchlaufen haben, sind Sie in einer guten Position, um diese spezielle Variable in awk effektiv zu verwenden.