GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Grep für eine Zeile, die nur 5 oder 6 Zahlen enthält?

Wie würden Sie nach einer Zeile suchen, die nur 5 oder 6 Zahlen enthält? Etwas in der Art.

Fall 1 (mit führendem Leerzeichen)

           10      2       12      1       13

Fall 2 (kein führendes Leerzeichen)

   1       2       3       4       5        6

Ich dachte, so etwas würde funktionieren.

grep -E '[0-9]{5}'

Akzeptierte Antwort:

grep -E '[0-9]{5}' sucht nach Nummern mit mindestens 5 Ziffern. Was Sie brauchen, sind 5 Zahlen mit mindestens einer Ziffer:

grep -E '[0-9]+([^0-9]+[0-9]+){4}'
  • [0-9]+ – eine Zahl mit mindestens einer Ziffer
  • [^0-9]+[0-9]+ – eine Zahl mit mindestens einer Ziffer, der mindestens ein nicht-stelliges Zeichen vorangestellt ist. Wir wiederholen dies dann 4 Mal, um 5 Zahlen zu erhalten, die durch Nichtziffern getrennt sind.
  • Wenn die Anforderung genau 5 ist, möchten Sie diese Regex vielleicht mit [^0-9] umgeben damit die ganze Linie passt (natürlich mit den Ankern).
  • Je nachdem, was Sie hier wollen (macht 1,2,3,4,6 qualifizieren?), könnten Sie sich andere Trennzeichen ansehen. Zum Beispiel würde eine richtige reelle Zahl in wissenschaftlicher Notation wie folgt aussehen:[+-]?(([0-9]+(.[0-9]+)?)|([0-9]?.[0-9]+))([eE][+-][0-9]+)? Daher dürfen Trennzeichen nicht . enthalten , e usw. Sie dürfen nur Leerzeichen sein, wie mikeserv Anmerkungen. Oder vielleicht Kommas, wenn es sich um einen CSV-Eintrag handelt. Oder je nach Gebietsschema wäre ein Komma das Dezimaltrennzeichen. Variieren Sie [^0-9] je nach Bedarf.

Linux
  1. Wie suchen Sie mit grep unter Linux nach Dateien, die DOS-Zeilenenden (CRLF) enthalten?

  2. Regex (grep) für mehrzeilige Suche erforderlich

  3. Bash-Verlauf ohne Zeilennummern

  4. Wie kann man GREP dazu bringen, nur numerische Werte auszuwählen?

  5. Linux-Befehlszeile:du --- wie man dafür sorgt, dass nur die Summe für jedes Verzeichnis angezeigt wird

3 Passwort-Manager für die Linux-Kommandozeile

So zeigen Sie Zeilennummern in Vim / Vi an

So zeigen Sie Zeilennummern in Gedit an

Linux sucht nach Wort und zeigt ganze Zeile

grep ohne Pfad/Datei:Zeile anzuzeigen

Grep:Anzahl der Übereinstimmungen pro Zeile zählen