Heim > Artikel > Betrieb und Instandhaltung > regulärer Ausdruck
[a-z]: Kleinbuchstaben
A-Z]: Großbuchstaben
[a-Z]: Klein- oder Großbuchstaben
[0-9]: Zahlen
[a-zA-Z0-9]: Entspricht einem Zeichen, das ein Buchstabe oder eine Zahl ist
: Entspricht jedem Zeichen, außer Leerzeichen
[0-f]: Hexadezimalzahl
abc | def: abc oder def
a ( bc |. de) f: abcf oder adef
<: Das erste Wort wird normalerweise durch Leerzeichen oder Sonderzeichen getrennt und die fortlaufende Zeichenfolge wird als Wort
< 🎜 betrachtet >[Beispiel] [a-z]* bedeutet Übereinstimmung mit 0 oder mehreren Kleinbuchstaben
3. Kontrollieren Sie die übereinstimmenden Zeichen am Anfang und Ende
①Nummernpositionierung (Positionierung der Eingabezeilennummer)
[Beispiel] sed -n '1p' /etc/passwd
②Positionierung regulärer Ausdrücke
[Beispiel] sed - r 's/(. )(.)/21/ file1 bedeutet, den ersten und zweiten Teil des Spiels zu ersetzen
* Gierige Option: g ausfüllen, was bedeutet, alle zu ersetzen passende Elemente in einer Zeile
*s Befehls-Sonderanweisungen:
verwenden Sie {Befehl 1: Befehl 2: Befehl 3 } Es können mehrere Befehle hinzugefügt werden s Befehlssyntax: sed -r 'Ersatzbefehl s/regulärer Ausdruck/Ersatzinhalt/gierige Option g' Dateiname 3 Es besteht aus Befehlen, regulären Ausdrücken (müssen von // umgeben sein), Vergleichen und relationalen OperationenVerwenden Sie den Parameter -F in der Option, um das Intervallsymbol zu definierenVerwenden Sie die Reihenfolge $1, $2, $3 usw., um die verschiedenen Felder in jeder Spalte, getrennt durch Abstandszeichen in jeder Dateizeile, darzustellen. Die NF-Variable stellt die Anzahl der Felder im aktuellen Datensatz dar
awk – Optionsparameter „Logische Beurteilung {Befehlsvariable 1, Variable 2, Variable 3}“ Dateiname
-F Feldtrennzeichen definieren, das Standardtrennzeichen sind fortlaufende Leerzeichen oder Tabulatoren
-v Sie können auch die geliehene Methode verwenden, um
einzuführenAWK-Variable
NR Die Anzahl der aktuellen Datensätze (Statistik, nachdem alle Dateien verbunden sind)
FNR Die Anzahl der aktuellen Datensätze (nur Statistiken für die aktuelle Datei, nicht alle)
FS-Feldtrennzeichen sind standardmäßig fortlaufende Leerzeichen oder Tabulatoren und mehrere Für die Trennung können verschiedene Symbole verwendet werden. Symbol -F[:/]
OFS Das Standardtrennzeichen für Ausgabezeichen ist Leerzeichen
[OFS-Beispiel]
# awk -F: 'OFS="=====" {print $1,$2}' /etc/passwd
root===== x
NF Die Anzahl der Felder in der aktuell gelesenen Zeile
ORS Der Standardausgabedatensatz Trennzeichen ist Newline
[ORS-Beispiel]
# awk -F: 'ORS="=====" { print $1,$2}' /etc /passwd
root x=====bin x=====
DATEINAME aktuell Dateiname
[Beispiel 1] Verwendung von AWK-Variablen
# awk '{print NR,FNR,$1}' file1 file2
1 1 aaaaa
2 2 bbbbb
3 3 ccccc
4 1 dddddd
5 2 eeeeee
6 3 ffffff
#
[Beispiel 2]Anleitung Shell-Variablen zitieren
# a=root
# awk -v var=$a -F: '$1 == var {print $0}' /etc/passwd
Oder teilen Sie den gesamten Befehl auf und Übergeben Sie es, um die Shell-Variablen verfügbar zu machen,
# awk -F: '$1 == "'$a'" {print $0}' /etc/passwd
# a=NF
# awk -F: '{print $'$a'} ' /etc/passwd
= += -= /= *=: Zuweisung
&& || !: Logisch UND logisch oder logisch NICHT
~ !~: Reguläre Übereinstimmung oder keine Übereinstimmung, reguläre Ausdrücke müssen von /regular/ umgeben sein
<= >= != ==: Beziehung, wann Beim Vergleich von Zeichenfolgen müssen die Zeichenfolgen in doppelte Anführungszeichen gesetzt werden. Kommen Sie zu
$: Feldreferenzen müssen mit $ hinzugefügt werden, während Variablenreferenzen direkt mit Variablennamen
Bitte korrigieren Sie mich, wenn es Fehler gibt. Weitere Details finden Sie unter:
Das obige ist der detaillierte Inhalt vonregulärer Ausdruck. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!