GNU/Linux >> Znalost Linux >  >> Linux

Grep:Neplatný obsah {}?

Zde je příkaz:

grep '(2)[[:digit:]]{1}' numbers

Chci, aby odpovídaly přesně 2 číslice za číslicí „2“, 3 číslice, pokud změním číslici „2“ na „3“ ve svém výrazu, 4 číslice, pokud …

Používám zde zpětné odkazování, ale když provedu tento příkaz, mám následující výstup:

grep: invalid content of {}

Jak by někdo mohl změnit můj výraz?

první řešení:
Jak odpověděl serge:

2[[:digit:]]{1}|3[[:digit:]]{2}|4[[:digit:]]{3}|5[[:digit:]]{4}

To by ve skutečnosti mohlo fungovat, ale předpokládejme, že mám (34) jako první podvýraz bych si přál, abych mohl toto číslo zpětně odkazovat, abych nemusel implementovat 34 případů (nebo více).

Přijatá odpověď:

Zpětné odkazy zde nejsou povoleny. Musíte napsat výraz, který bude popisovat všechny možné případy, např.:

2[[:digit:]]{1}|3[[:digit:]]{2}|4[[:digit:]]{3}|5[[:digit:]]{4}

Linux
  1. Grep:Vyčerpaná paměť?

  2. Grep:Neplatný obsah {}?

  3. Řez / Grep A Df -h?

  1. Jak se dostat do obsahu řetězcové proměnné?

  2. Vypsat názvy souborů na základě vzoru názvu souboru a obsahu souboru?

  3. Jak hledat slovo v celém obsahu adresáře v linuxu

  1. Grep -v Neočekávané chování?

  2. Kontrola, zda skript běží?

  3. Grep And Tail -f?