Grep je jedinečný a velmi výkonný nástroj Linux / UNIX, který umožňuje vyhledat konkrétní řetězec v jednom nebo více souborech v operačním systému GNU / Linux. Jedná se o software příkazového řádku, který byl navržen od země až k výstupu pouze odpovídajících linek. Příkaz Grep se skládá z výběru a interpretace regexp, řízení výstupu, řízení kontextu a různých možností.
Chcete-li použít příkaz Grep z příkazového řádku, budete muset zadat příkaz & gresk --help & rsquo; Příkazem v terminálovém emulátoru nebo přímo v konzole Linux, která zobrazí všechny dostupné možnosti, stejně jako různé příklady použití nástroje k nalezení určitého vzoru do souboru. Standardním příkladem použití daným výše uvedeným příkazem je & gt; grep [OPTION] ... PATTERN [FILE] ... & rdquo;
Chci vidět příklad!
Nejzákladnějším příkladem je "grep -i 'hello world' menu.h main.c & rdquo ;, kde & ldquo; -i & rdquo; Je [OPTION] & hello world & rdquo; Je nabídka [PATTERN] a "nabídka". A "menu.c & rdquo; Jsou [SOUBOR]. Tento jednoduchý příkaz se používá k vyhledávání "světa hello" & rdquo; Vzor v každém z daných souborů. Mějte na paměti, že [PATTERN] je ve výchozím nastavení Basic Regular Expression (BRE).
Upozorňujeme, že při použití funkce "-" Symbol pro řetězec [FILE] ve výše uvedeném příkladu, bude Grep automaticky číst standardní vstup. Navíc pokud vůbec není zadán žádný [FILE], přečte si aktuální adresář.
Spouští se v mém Linuxu?
Grep je vývojáři systému Linux považován za významný nástroj UNIX, což znamená, že je ve výchozím nastavení nainstalován téměř na všech operačních systémech GNU / Linux. Pokud z nějakého podivného důvodu vaše instalační zařízení Linux neobsahuje nástroj grep, budete jej moci snadno nainstalovat z výchozích softwarových repozitářů distribuce. V této době jsou podporovány oba 64bitové a 32bitové architektury.
Co je nové v této verzi:
- Vylepšení:
- Výkon se výrazně zlepšil při hledání souborů obsahujících díry, na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokáloch.
- grep by neumožňoval interní počítání nových řádků při práci v lokálních oblastech, které nejsou multifunkčními UTF8, což vedlo k tisku potenciálně mnoha řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí, které není více než UTF8, by mohlo chybně odpovídat uprostřed vícebajtového znaku při použití alternativního '^ ^ anarchovaného alternativního vzoru, což vedlo k tisku nezodpovídajících linek. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje s lokálními adresami typu non-UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY a pak jeden vyhledávací vzor jednoho bytu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden bajt příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční ')', namísto zacházení jako s ')'. [Chyba existuje od "začátku"]
- V souboru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte místo toho alias nebo skript.
- V lokacích s kódováním více bajtů než UTF-8 hlásí grep -P hlášku chyby a vynechává místo špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 3.0:
- Vylepšení:
- Výkon byl výrazně vylepšen při hledání souborů obsahujících díry na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokacích.
- grep by neumožňoval počítat nové řádky interně, když pracoval v multi-byte non-UTF8 locale, což vedlo k tisku potenciálně mnoho řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.28:
- Vylepšení:
- Výkon byl výrazně vylepšen při hledání souborů obsahujících díry na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokacích.
- grep by neumožňoval počítat nové řádky interně, když pracoval v multi-byte non-UTF8 locale, což vedlo k tisku potenciálně mnoho řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.27:
- Vylepšení:
- Výkon byl výrazně vylepšen při hledání souborů obsahujících díry na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokacích.
- grep by neumožňoval počítat nové řádky interně, když pracoval v multi-byte non-UTF8 locale, což vedlo k tisku potenciálně mnoho řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.26:
- Vylepšení:
- Výkon byl výrazně vylepšen při hledání souborů obsahujících díry na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokacích.
- grep by neumožňoval počítat nové řádky interně, když pracoval v multi-byte non-UTF8 locale, což vedlo k tisku potenciálně mnoho řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí, které není více než UTF8, by mohlo chybně odpovídat uprostřed vícebajtového znaku při použití alternativního '^ ^ anarchovaného alternativního vzoru, což vedlo k tisku nezodpovídajících linek. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje s lokálními adresami typu non-UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY a pak jeden vyhledávací vzor jednoho bytu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden bajt příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční ')', namísto zacházení jako s ')'. [Chyba existuje od "začátku"]
- V souboru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte místo toho alias nebo skript.
- V lokacích s kódováním více bajtů než UTF-8 hlásí grep -P hlášku chyby a vynechává místo špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.25:
- Vylepšení:
- Výkon se výrazně zlepšil při hledání souborů obsahujících díry, na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokáloch.
- grep by neumožňoval interní počítání nových řádků při práci v lokálních oblastech, které nejsou multifunkčními UTF8, což vedlo k tisku potenciálně mnoha řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.24:
- Vylepšení:
- Výkon se výrazně zlepšil při hledání souborů obsahujících díry, na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokáloch.
- grep by neumožňoval interní počítání nových řádků při práci v lokálních oblastech, které nejsou multifunkčními UTF8, což vedlo k tisku potenciálně mnoha řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.23:
- Vylepšení:
- Výkon se výrazně zlepšil při hledání souborů obsahujících díry, na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokáloch.
- grep by neumožňoval interní počítání nových řádků při práci v lokálních oblastech, které nejsou multifunkčními UTF8, což vedlo k tisku potenciálně mnoha řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.22:
- Vylepšení:
- Výkon se výrazně zlepšil při hledání souborů obsahujících díry, na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokáloch.
- grep by neumožňoval interní počítání nových řádků při práci v lokálních oblastech, které nejsou multifunkčními UTF8, což vedlo k tisku potenciálně mnoha řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí, které není více než UTF8, by mohlo chybně odpovídat uprostřed vícebajtového znaku při použití alternativního '^ ^ anarchovaného alternativního vzoru, což vedlo k tisku nezodpovídajících linek. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje s lokálními adresami typu non-UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY a pak jeden vyhledávací vzor jednoho bytu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden bajt příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční ')', namísto zacházení jako s ')'. [Chyba existuje od "začátku"]
- V souboru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte místo toho alias nebo skript.
- V lokacích s kódováním více bajtů než UTF-8 hlásí grep -P hlášku chyby a vynechává místo špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.21:
- Vylepšení:
- Výkon se výrazně zlepšil při hledání souborů obsahujících díry, na platformách, kde vlajka SEEK_DATA lseek pracuje efektivně.
- Výkonnost se zlepšila pro odmítnutí dat, která nemohou odpovídat ani první části netriviálního vzoru.
- Výkon se zlepšil u velmi dlouhých řetězců ve vzorcích.
- Pokud soubor obsahuje data nesprávně zakódovaná pro aktuální prostředí, a to je objeveno předtím, než jsou výstupy obsahu souboru, grep nyní považuje soubor za binární.
- grep -P už nehlásí chybu a skončí při zadání neplatných dat UTF-8. Namísto toho považuje data za neshodná.
- Opravy chyb:
- grep již nezpůsobuje špatné vzory, které obsahují w nebo W v vícebajtových lokáloch.
- grep by neumožňoval interní počítání nových řádků při práci v lokálních oblastech, které nejsou multifunkčními UTF8, což vedlo k tisku potenciálně mnoha řádků, které neodpovídaly. Například příkaz "seq 10" Env LC_ALL = zh_CN src / grep -n .. " Vytiskne toto: 1: 1 2 3 4 5 6 7 8 9 10, což znamená, že zápas "10" Byl na linii 1. [bug zaveden v grep-2.19]
- grep -F -x -o již nevytiskne pro každý zápas nový řádek. [Chyba zavedena v grep-2.19]
- grep v prostředí s více zbytečnými znaky než UTF8 by mohlo chybně odpovídat uprostřed vícestupňového znaku při použití alternativního zámku '^ ^ ve vzoru, což vedlo k vytištění nesouvisejících řádků. [Chyba existuje od "začátku"]
- grep -FY se již neshoduje v lokálních systémech jiných než UTF8, jako je Shift-JIS, pokud vstup obsahuje 2bajtový znak XY, za ním vyhledávací vzor jednoho bajtu, Y. grep najde první , "Y" středního multibajtového přiřazení a poté chybně posunout interní ukazatel o jeden byte příliš daleko, přeskočit cíl "Y". Hned po tom. [Chyba zavedena v grep-2.19]
- grep -E odmítá bezkonkurenční '), místo toho, aby se s ním zacházelo jako s' ) '. [Chyba existuje od "začátku"]
- Na serveru NetBSD grep -r již nehlásí "Nevhodný typ nebo formát souboru" Když odmítá následovat symbolickou vazbu. [Chyba zavedena v grep-2.12]
- Změny v chování:
- Proměnná prostředí GREP_OPTIONS je nyní zastaralá a grep nyní varuje, pokud je používán. Použijte prosím místo toho alias nebo skript.
- V lokaích s kódováním vícebajtových znaků, než je UTF-8, grep -P nyní hlásí chybu a skončí namísto špatného zacházení.
- Při vyhledávání binárních dat může grep nyní považovat netextové bajty za terminátory řádků. To může výrazně zvýšit výkon.
- grep -z už binární data automaticky nezahrnuje bajt ' 200'.
Co je nového ve verzi 2.20:
Komentáře nebyl nalezen