Další možností je právě použití head:
grep ...parameters... yourfile | head
To nebude vyžadovat prohledávání celého souboru – zastaví se, když bude nalezeno prvních deset odpovídajících řádků. Další výhodou tohoto přístupu je, že nevrátí více než 10 řádků, i když používáte grep s volbou -o.
Například pokud soubor obsahuje následující řádky:
112233
223344
123123
Pak je rozdíl ve výstupu:
$ grep -o '1.' yourfile | head -n2 11 12 $ grep -m2 -o '1.' 11 12 12
Pomocí head
vrátí pouze 2 výsledky podle potřeby, zatímco -m2 vrátí 3.
-m
možnost je pravděpodobně to, co hledáte:
grep -m 10 PATTERN [FILE]
Od man grep
:
-m NUM, --max-count=NUM
Stop reading a file after NUM matching lines. If the input is
standard input from a regular file, and NUM matching lines are
output, grep ensures that the standard input is positioned to
just after the last matching line before exiting, regardless of
the presence of trailing context lines. This enables a calling
process to resume a search.
Poznámka:grep přestane číst soubor, jakmile bude nalezen zadaný počet shod!
Python socket neuzavře připojení správně
Jak mohu s ohledem na dva adresářové stromy zjistit, které soubory se liší obsahem?