
Ich habe versucht, eine Liste von Zahlen in ein Postleitzahlenformat (fünf Ziffern) zu formatieren. sed
Dazu habe ich das Dienstprogramm verwendet. Nehmen wir an, file.txt
es enthält „23232334“, „3434654“, „33532“, „94607“. In mein Skript habe ich geschrieben:
sed -n '/^[0-9] [0-9] [0-9] [0-9] [0-9]$/p' file.txt
aber es hat nicht funktioniert.
Ich habe auch versucht
sed -n '/^[[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]] [[:digit:]]$/p' file.txt
Nach meinem Verständnis von Zeichenklassen sollten diese Schritte funktionieren, aber ich weiß nicht, warum ich keine Ausgabe erhalte.
Bitte helfen Sie
Danke
Antwort1
Es gibt viele Gründe, warum Ihre Befehle nicht funktionieren. Zunächst einmal haben Sie Leerzeichen zwischen den Zahlen und sed
suchen nach Ziffern, die durch Leerzeichen getrennt sind. Zweitens, wenn Sie schreiben ^
und $
verlangen, dass die fünfstellige Zahl die ganze Zeile einnehmen soll, bestehen von den vier Zahlen in Ihrem Beispiel nur die letzten beiden den Test. Ist das, was Sie wollen?