grep --before-context 5
ukazuje 5 řádků před zápasem.
Chci před zápasem ukázat vše.
Dělám grep --before-context 99999999
fungovalo by to, ale není to příliš… profesionální.
Jak zobrazit všechny soubory až do shody?
Přijatá odpověď:
Sed je na to lepší.
Stačí udělat:
sed '/PATTERN/q' FILE
Funguje to takto:
U každého řádku se podíváme, zda odpovídá /PATTERN
:
- pokud ano, vytiskneme jej a skončíme
- v opačném případě jej vytiskneme
Toto je nejúčinnější řešení, protože jakmile vidí PATTERN
, končí. Bez q
, sed bude pokračovat ve čtení zbytku souboru a nic s ním neudělá. U velkých souborů to může znamenat rozdíl.
Tento trik lze také použít k emulaci head
:
sed 10q FILE