GNU/Linux >> Znalost Linux >  >> Linux

Zobrazit všechny soubory až do shody?

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

Linux
  1. Jak uložit výstup SHOW PROCESSLIST do souboru v MySQL?

  2. Je MV Atomic na Fs?

  3. Linux – Jak zobrazit typ souborového systému přes terminál?

  1. Uložit veškerý výstup z terminálu do souboru?

  2. Jak spočítat počet řádků v souboru po zápase Grep?

  3. Zobrazit všechny řádky před zápasem?

  1. Jak použít sed k odstranění posledních n řádků souboru

  2. Rekurzivní kat všechny soubory do jednoho souboru

  3. Jak vložím text do 1. řádku souboru pomocí sed?