GNU/Linux >> Znalost Linux >  >> Linux

Vrátit pouze odpovídající řetězec v Sed?

Tato otázka zde již obsahuje odpovědi :Uzavřeno před 8 lety.

Možný duplikát:
Extrahování regulárního výrazu shodného s ‚sed‘ bez tisku okolních znaků

Jak dosáhnu toho, že se vytiskne pouze test :

echo "atestb" | sed -n 's/(test)/1/p'

Přijatá odpověď:

Musíte odpovídat celému řádku:

echo "atestb" | sed -n 's/.*(test).*/1/p'

nebo

echo "atestb" | sed 's/.*(test).*/1/'

Linux
  1. Sed:Smazat všechny výskyty řetězce kromě prvního?

  2. Shell Test najít vzor v řetězci?

  3. Vrátit pouze část řádku po odpovídajícím vzoru?

  1. Zobrazit všechny soubory až do shody?

  2. Příkaz pro tisk pouze posledních 3 znaků řetězce?

  3. Spočítat počet řádků s řetězcem vyskytujících se Nkrát ve více sloupcích?

  1. Odstranit řádek obsahující určitý řetězec a následující řádek?

  2. Zipping Epub:Soubor Mimetype by měl obsahovat pouze řetězec application/epub+zip

  3. Proč slabtop -o vrací pouze prvních 23 řádků, když je příkaz rourou?