Grep to unikalny i bardzo potężny program narzędziowy Linux / UNIX, który umożliwia wyszukiwanie określonych ciągów w jednym lub wielu plikach na systemie operacyjnym GNU / Linux. Jest to oprogramowanie wiersza polecenia, które zostało zaprojektowane od podstaw do wyprowadzenia tylko dopasowanych linii. Polecenie grep składa się z wyboru i interpretacji regexp, kontroli wyjściowej, kontroli kontekstu i różnych opcji.
Aby użyć Grep z wiersza polecenia, musisz wpisać & lsquo; grep --help & rsquo; Polecenie w emulatorze terminali lub bezpośrednio w konsoli Linux, która wyświetli wszystkie dostępne opcje, a także różne przykłady używania tego narzędzia w celu znalezienia określonego wzoru w pliku. Przykładem standardowego użycia podanym w powyższym poleceniu jest & ldquo; grep [OPTION] ... PATTERN [FILE] ... & rdquo;
Chcę zobaczyć przykład!
Najbardziej podstawowym przykładem jest & ldquo; grep -i 'hello world' menu.h main.c & rdquo ;, gdzie & ldquo; -i & rdquo; To jest [OPTION] & ldquo; hello world & rdquo; To [PATTERN] i & ldquo; menu.h & rdquo; I & ldquo; menu.c & rdquo; To [FILE]. To proste polecenie służy do wyszukiwania & ldquo; hello world & rdquo; W każdym z podanych plików. Pamiętaj, że [PATTERN] jest domyślnie podstawowym wyrażeniem regularnym (BRE).
Należy pamiętać, że podczas używania & ldquo ;- & rdquo; Symbolu dla łańcucha [FILE] w powyższym przykładzie, Grep automatycznie odczytuje standardowe wejście. Dodatkowo, jeśli w ogóle nie określono [FILE], odczytuje bieżący katalog.
Czy działa on w moim systemie Linux?
Grep jest uważany przez programistów na całym świecie za niezbędne narzędzie UNIX, co oznacza, że jest on instalowany domyślnie na niemal wszystkich systemach operacyjnych GNU / Linux. Jeśli z jakiegoś dziwnego powodu Twój Linux nie ma zainstalowanego narzędzia grep, będzie można go łatwo zainstalować z domyślnych repozytoriów oprogramowania dystrybucji. Oba architektury 64-bitowe i 32-bitowe są teraz obsługiwane.
Co nowego w tym wydaniu:
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
Co nowego w wersji 3.0:
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania danych binarnych grep może traktować bajty nietextowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Udoskonalenia:
- Wydajność została znacznie poprawiona w przypadku przeszukiwania plików zawierających otwory, na platformach, w których flaga SEEK_DATA lseek działa skutecznie.
- Wydajność poprawiła się w przypadku odrzucenia danych, których nie można dopasować nawet do pierwszej części wzoru beztroski.
- Poprawiono wydajność w przypadku bardzo długich ciągów w wzorach.
- Jeśli plik zawiera nieprawidłowo zakodowane dane o bieżącym locale i jest to wykryte przed wyświetleniem dowolnej zawartości pliku, grep traktuje plik jako plik binarny.
- grep -P nie zgłasza już błędu i kończy pracę w przypadku nieprawidłowych danych UTF-8. Zamiast tego uważa, że dane nie są dopasowane.
- Poprawki błędów:
- grep przestał odpowiadać na wzorce, które zawierają w lub W w wielu lokalizacjach.
- grep nie bę dzie miał poczĘ ... tku linii wewnĘ ... trz podczas działania w polach innych niż UTF8, co prowadzi do wydrukowania potencjalnie wielu linii, które nie pasujĘ .... Np. Polecenie "seq 10 | Env LC_ALL = zh_CN src / grep -n .. " Wydrukowałby to: 1: 1 2 3 4 5 6 7 8 9 10 co oznacza, że dopasowanie, "10" Był w linii 1. [błąd wprowadzony w grep-2.19]
- grep -F -x -o nie drukuje kolejnej nowej linii dla każdego meczu. [Błąd wprowadzony w grep-2.19]
- grep w locale wielobajtowym innych niż UTF8 może błędnie pasować do środka znaku wielobajtowego przy użyciu zamiennika "^" - zakotwiczonego w wzorze, co prowadzi do drukowania niezgodnych linii. [Błąd występujący od "początku"]
- grep -FY nie pasuje do innych niż UTF8 wielobajtowych ustawień regionalnych, takich jak Shift-JIS, gdy dane wejściowe zawierają dwubajtowy znak, XY, a następnie pojedynczy bajt, Y. grep znajdzie pierwszy , Dopasowanie średniej wielomianowości "Y", a następnie nieprawidłowo przesuń wskaźnik wewnętrzny o jeden bajt za daleko, pomijając cel "Y" Tuż po tym. [Błąd wprowadzony w grep-2.19]
- grep -E odrzucił niedopasowane ") zamiast traktować go jak" ) ". [Błąd występujący od "początku"]
- W systemie NetBSD grep -r nie ma już raportów "nieodpowiedni typ lub format pliku" Gdy odmawia podążania symbolicznym ogniwem. [Błąd wprowadzony w grep-2.12]
- Zmiany w zachowaniu:
- Zmienna środowiskowa GREP_OPTIONS jest przestarzała, a grep ostrzega, jeśli jest używana. Proszę użyć aliasu lub skryptu.
- W ustawieniach regionalnych z kodami znaków wielobajtowych innych niż UTF-8 grep -P zgłasza błąd i wychodzi z niego, zamiast źle się zachowywać.
- Podczas przeszukiwania binarnych danych, grep może traktować bajty nie-tekstowe jako terminatory linii. Może to znacznie zwiększyć wydajność.
- grep -z przestaje automatycznie traktować bajt " 200" jako dane binarne.
- Poprawki błędów:
- grep --max-count = N FILE przestanie już czytać po meczu Nth. I.e., podczas gdy grep nadal będzie drukować poprawne wyjście, to będzie kontynuował czytanie do końca wejścia, a tym samym potencjalnie na zawsze. [Błąd wprowadzony w grep-2.19]
- Polecenie echo aa | grep -E 'a (b $ | c $) "błędnie zgłosiłoby dane wejściowe jako dopasowaną linię. [Błąd wprowadzony w grep-2.19]
- Zmiany w zachowaniu:
- grep --exclude-dir = 'FOO /' obecnie wyklucza katalog FOO. Wcześniej ukośnik oznaczał, że opcja jest nieskuteczna.
Co nowego w wersji 2.28:
Co nowego w wersji 2.27:
Co nowego w wersji 2.26:
Co nowego w wersji 2.25:
Co nowego w wersji 2.24:
Co nowego w wersji 2.23:
Co nowego w wersji 2.22:
Co nowego w wersji 2.21:
Co nowego w wersji 2.20:
Komentarze nie znaleziono