Grep е уникална и много мощна Linux / UNIX програма, която ви позволява да търсите конкретен низ в един или няколко файла на операционна система GNU / Linux. Това е софтуер за команден ред, който е проектиран от земята, за да извежда само съвпадащи линии. Командата Grep се състои от подбор и интерпретация на регекс, контрол на изхода, контрол на контекста и различни опции.
За да използвате Grep от командния ред, ще трябва да въведете & grep -help & rsquo; Команда в емулатор на терминала или директно в конзолата Linux, която ще изведе всички налични опции, както и различни примери за това как да използвате инструмента, за да намерите определен шаблон във файл. Стандартният пример за използване, даден от гореспоменатата команда, е "grep [OPTION] ... PATTERN [FILE] ... & rdquo;
Искам да видя пример!
Най-основният пример е grep -i 'hello world' menu.h main.c & rdquo ;, където & ldquo; -i & rdquo; Е [OPTION] & #; hello world & rdquo; Е менюта [PATTERN] и "меню" .h & rdquo; И & ldquo; menu.c & rdquo; Са [FILE]. Тази проста команда се използва за търсене на "света на здравеопазването" & rdquo; Във всеки от файловете. Имайте предвид обаче, че [PATTERN] е по подразбиране базов регулярен израз (BRE).
Моля, обърнете внимание, че при използването на & #; Символ за низа [FILE] в горния пример, Grep автоматично ще чете стандартния вход. Освен това, ако изобщо няма зададена [FILE], тя ще прочете настоящата директория.
Дали се изпълнява в моя Linux кутия?
Греп се счита от разработчиците на Linux за световна помощна програма за UNIX, което означава, че е инсталирана по подразбиране на почти всички операционни системи GNU / Linux. Ако по някаква странна причина вашата Linux кутия няма инсталиран инструмент grep, ще можете лесно да го инсталирате от хранилищата по подразбиране на вашата дистрибуция. И в двата случая се поддържат 64-битови и 32-битови архитектури.
Какво ново
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни от UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 3.0:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.28:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.27:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.26:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.25:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.24:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.23:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.22:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- При търсене на двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.21:
- Подобрения:
- Ефективността е много подобрена за търсене на файлове, съдържащи дупки, на платформи, където флага на SEEK_DATA на lseek работи ефективно.
- Беше подобрена ефективността при отхвърляне на данни, които не могат да съответстват дори на първата част на нетривиален модел.
- Изпълнението се е подобрило за много дълги струни в шаблони.
- Ако даден файл съдържа данни, които са неправилно кодирани за текущия локал, и това е открито, преди съдържанието на файла да бъде изведено, grep вече третира файла като двоичен.
- grep -P вече не съобщава грешка и излиза, когато получава невалидни данни за UTF-8. Вместо това тя счита данните за несъответстващи.
- Поправки на програмни грешки:
- grep вече не са измамни модели, които съдържат w или W в многобайтови локали.
- grep не би могъл да преброи вътрешните вътрешни номера, когато работи в локални устройства, които не са UTF8, което води до отпечатване на потенциално много линии, които не съвпадат. Например командата "сек 10" Env LC_ALL = zh_CN src / grep -n .. " Ще отпечата това: 1: 1 2 3 4 5 6 7 8 9 10, което означава, че мачът "10" Беше на линия 1. [въведена грешка в grep-2.19]
- grep -F -x -o вече не отпечатва допълнителен нов ред за всеки мач. [Грешка въведена в grep-2.19]
- grep в локализирания на няколко библиотеки, различен от UTF8, може погрешно да съвпадне в средата на многобайтов знак, когато се използва алтернативен '^ ^ - закотвен алтернативен модел, което води до отпечатване на несъответстващи линии. [Бъг присъстващ от началото "]
- grep -FY вече не може да съвпада с локализиите, различни от UTF8 като Shift-JIS, когато входът съдържа 2-байтов знак XY, следван от модела за търсене на един байт, Y. grep ще намери първото , По средата на многобайтово съвпадение "Y" и след това погрешно премества вътрешния показалец един байт твърде далеч, прескачайки целта "Y". Малко след това. [Грешка въведена в grep-2.19]
- grep -E отхвърля несравнимо "), вместо да го третира като ')'. [Бъг присъстващ от началото "]
- На NetBSD grep -r вече не съобщава "Неподходящ тип или формат на файла" Когато отказва да следва символична връзка. [Грешка въведена в grep-2.12]
- Промени в поведението:
- Променливата на средата GREP_OPTIONS вече е остаряла, а grep сега предупреждава, ако се използва. Моля, използвайте псевдоним или скрипт.
- В локали с кодиране на многобайтови символи, различни от UTF-8, grep -P вече съобщава грешка и излиза вместо лошо управление.
- Когато търсите двоични данни, grep сега може да третира нетекстови байтове като прекъсвачи на линии. Това може значително да повиши производителността.
- grep -z вече не обработва автоматично бита "200" като двоични данни.
Какво е новото във версия 2.20:
Коментари не е намерена