Heim php教程 PHP开发 Zusammenfassung der AWK-Befehlsverwendung

Zusammenfassung der AWK-Befehlsverwendung

Dec 15, 2016 am 10:21 AM
awk命令

Die grundlegendste Funktion von awk besteht darin, Informationen basierend auf bestimmten Regeln in einer Datei oder Zeichenfolge zu durchsuchen und zu extrahieren. Sie wird verwendet, um eine Zeile zur Verarbeitung in mehrere „Felder“ zu unterteilen. Geeignet für die Verarbeitung kleiner Datenmengen.

Beispiel:

cat /etc/passwd | /passwd wird durch „:“ getrennt, überprüfen Sie die Daten in der dritten Spalte auf weniger als 10 und zeigen Sie nur die Kontonummer und die dritte Spalte an.


Ausführungsmethode, z als:

awk [-Field-separator] 'Befehle' Eingabedatei(en)

Hier sind Befehle die echten awk-Befehle, [-F Feldtrenner] ist optional, awk verwendet Leerzeichen standardmäßig Getrennt. Wenn Sie also Text mit Leerzeichen zwischen Feldern durchsuchen möchten, müssen Sie diese Option nicht angeben. Wenn Sie jedoch eine Datei wie passwd durchsuchen, die Doppelpunkte als Trennzeichen für jedes Feld verwendet, müssen Sie -F verwenden Option: awk -F : 'commands' input -file


Wenn awk ausgeführt wird, sind seine Browsing-Tags $1, $2...$n, diese Methode wird Domain genannt Markieren. Verwenden Sie $1 und $3, um auf das erste und dritte Feld zu verweisen. Beachten Sie, dass Kommas zur Trennung der Felder verwendet werden und $0 bedeutet, dass alle Felder verwendet werden. Zum Beispiel:

awk '{print $0}' temp.txt > sav.txt

bedeutet, dass alle Felder gedruckt und die Ergebnisse umgeleitet werden Gehen Sie zu sav.txt

awk '{print $0}' temp.txt |. sav.txt

Ähnlich wie im obigen Beispiel, aber anders wird auf dem Bildschirm angezeigt

awk '{print $1,$4}' temp.txt

Nur den 1. und ausdrucken Domäne 4


awk 'BEGIN {print "NAME GRADEn----"} {print $1"t"$4}' temp.txt


gibt einen Nachrichtenkopf an, d. h. fügen Sie „NAME GRADen-------------“ vor der ersten Zeile des Eingabeinhalts hinzu und gleichzeitig wird der Inhalt durch Tabulatoren getrennt

awk 'BEGIN {print "being"} {print $1} END {print "end"}' temp

Nachrichtenkopf und Nachrichtentrailer gleichzeitig drucken



Bedingungsoperator:


=, ~ stimmt mit regulären Ausdrücken überein, !~ stimmt nicht mit regulären Ausdrücken überein

Übereinstimmungen: awk '{if ($4~/ASIMA/) print $0}' temp bedeutet, wenn das vierte Feld ASIMA enthält, wird das gesamte gedruckt

Genaue Übereinstimmung: awk '$3==" 48" {print $0}' temp Nur den Datensatz drucken, dessen drittes Feld gleich „48“ ist

Keine Übereinstimmung: awk '$0 !~ /ASIMA/' temp Den gesamten Datensatz ohne ASIMA drucken. Die Datensätze von

sind nicht gleich: awk '$1 != "asima"' temp

sind kleiner als: awk '{if ($1

Set case: awk '/[Gg]reen/' temp Gibt das Ganze aus Datensatz mit Grün oder Grün

Beliebiges Zeichen: awk '$1 ~/^...a/' temp Druckt den Datensatz aus, in dem das vierte Zeichen im ersten Feld ein ist Symbol '^' stellt den Anfang der Zeile dar und entspricht '.' Stellt ein beliebiges Zeichen dar

oder relationale Übereinstimmung: awk '$0~/(abc)|(efg)/' temp Wann Bei Verwendung von | muss die Anweisung in

AND und die Beziehung eingeschlossen werden: awk '{if ( $1=="a" && $2=="b" ) print $0}' temp

ODER oder Beziehung: awk ' {if ($1=="a" || $1=="b") print $0}' temp

integrierte awk-Variable:

Zusammenfassung der AWK-Befehlsverwendung

Beispiel: awk 'END {print NR}' temp Gibt am Ende die Anzahl der gelesenen Datensätze aus

awk '{print NF, NR, $0} END {print FILENAME} ' temp

awk '{if (NR>0 && $4~/Brown/) print $0}' temp Es gibt mindestens einen Datensatz, der Brown enthält

Eine andere Verwendung von NF: echo $PWD -F/ '{print $NF}' Zeigt den aktuellen Verzeichnisnamen an



Ausführungsmodus: awk 'Bedingungstyp 1 {Aktion 1} Bedingungstyp 2 {Aktion 2} ...' Dateiname

# last |. awk '{print $1 "t" $3}'

NF Die Gesamtzahl der Felder in jeder Zeile ($0)

NR Die „Anzahl der Zeilen“ der Daten, die awk derzeit verarbeitet

FS gibt das Trennzeichen an und der Standardwert ist eine Leertaste


Weitere Zusammenfassungen zur AWK-Befehlsverwendung und verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)