Hallo, ich habe eine Datei mit 5-stelligen Postleitzahlen.
Ich versuche, mit grep die Postleitzahlen zu drucken, die mit 9 beginnen und nur Ziffern zwischen 4 und 7 enthalten können
Der Befehl, den ich verwende, ist
grep '[4-7], 9'$ zipcodesDataEntry.cvs
Das Problem ist, dass ich Postleitzahlen mit den Ziffern 1, 2, 3 und 8 erhalte. Meine Ausgabe sollte folgendermaßen aussehen:
95544
94554
94445
95567
Ich erhalte jedoch einige Postleitzahlen wie:
91121
92231
Ich versuche, alle Zahlen auszuschließen, die nicht 9 sind und im Bereich von 4-7 liegen
Antwort1
Angesichts dieser Indatei:
cat zipcodes
95544 94554 94445 92231 95567 91121
Ich kann dieses Grep verwenden:
egrep -o '9[4-7]{4}' zipcodes
95544
94554
94445
95567
Antwort2
Inhalt der Eingabedatei:
95544
94554
94445
95567
91121
92231
Mit awk
(falls egrep
nicht verfügbar) können Sie Folgendes versuchen:
awk '/9[4-7]{4}/' zip.txt
Ausgabe:
95544
94554
94445
95567
Antwort3
grep '^9.[4-7].*' zipcodesDataEntry.cvs
- ^ Der Anfang der verglichenen Zeichenfolge
- . (Punkt) entspricht jedem Zeichen
- Sternchen, Null oder mehr