Předpokládejme, že mám soubor s mnoha slovy, chci najít pouze první slovo se vzorem „xyz“. Jak to udělám, pokud je na stejném řádku více slov s tímto vzorem?-m
vrátí všechna slova na prvním řádku, ve kterých se shoduje. Potřebuji pouze příkaz grep.
Přijatá odpověď:
Ve výchozím nastavení grep
vytiskne řádky odpovídající vzoru, takže pokud se vzor objeví jednou nebo vícekrát v řádku, grep
vytiskne celý tento řádek.
Přidání příznaku -m 7
řekne grep
vytisknout pouze prvních 7 řádků, kde se vzor vyskytuje.
Takže by to mělo dělat, co chcete (netestoval jsem to):
grep -o -m 1 xyz myfile | head -1
Edit:jak zdůraznil @Kusalananda, nepotřebujete striktně -m
příznak, ale jeho použití znamená grep
nebude muset analyzovat celý soubor a výsledek bude zobrazovat rychleji, zvláště pokud myfile
je velký soubor.