Kimenetek szűrése minta alapján
grep, egrep
A beneteként kapott inputból kiszűri azokat a sorokat, amelyek illeszkednek a paraméterében megadott mintára.
grep [KAPCSOLÓ]… MINTA [FÁJL]…
A MINTA keresése minden FÁJLBAN.
Példa: grep -i 'szia világ' menu.h main.c
Minta kiválasztása és értelmezése:
-E, --extended-regexp a MINTA kiterjesztett reguláris kifejezés
-F, --fixed-strings a MINTA új sorokkal elválasztott karakterláncok
halmaza
-G, --basic-regexp a MINTA alapvető reguláris kifejezés (alapeset)
-P, --perl-regexp a MINTA Perl reguláris kifejezés
-e, --regexp=MINTA a MINTA használata illesztésre
-f, --file=FÁJL a MINTA beolvasása a FÁJLBÓL
-i, --ignore-case a kis- és nagybetűk megegyeznek
-w, --word-regexp a MINTA csak egész szóra illeszkedik
-x, --line-regexp a MINTA csak egész sorra illeszkedik
-z, --null-data az adat sorai 0 bájtra végződnek, nem újsorra
Egyéb:
-s, --no-messages hibaüzenetek elnémítása
-v, --invert-match a nem illeszkedő sorok kiválogatása
-V, --version verzióinformációk kiírása és kilépés
--help ezen súgó kiírása és kilépés
Kimenet beállításai:
-m, --max-count=SZÁM megáll SZÁM kiválasztott sor után
-b, --byte-offset a kimenetben szerepel a sor helye is (bájteltolás)
-n, --line-number a kimenetben szerepel a sor száma is
--line-buffered kimenet kiürítése minden sor után
-H, --with-filename fájlnév kiírása a kimeneti sorokkal
-h, --no-filename a kimenetbe nem írja ki a fájlnév előtagot
--label=CÍMKE a CÍMKE kiírása fájlnévként a szabványos bemenet
használatakor
-o, --only-matching a sornak csak a MINTÁRA illeszkedő részét írja ki
-q, --quiet, --silent minden szokványos kimenet elhagyása
--binary-files=TÍPUS a bináris fájlokat adott TÍPUSÚNAK veszi, a TÍPUS
a „binary”, „text” vagy „without-match” egyike
-a, --text ugyanaz, mint a --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is 'read', 'recurse', or 'skip'
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is 'read' or 'skip'
-r, --recursive like --directories=recurse
-R, --dereference-recursive
likewise, but follow all symlinks
--include=FILE_PATTERN
search only files that match FILE_PATTERN
--exclude=FILE_PATTERN
skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs with no selected lines
-l, --files-with-matches print only names of FILEs with selected lines
-c, --count print only a count of selected lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name
Szövegkörnyezet beállításai:
-B, --before-context=SZÁM SZÁM db. sor kiírása a találat előtti környezetből
-A, --after-context=SZÁM SZÁM db. sor kiírása a találat utáni környezetből
-C, -- context=SZÁM SZÁM darab sor kiírása a környezetből
-NUM same as --context=NUM
--group-separator=SEP use SEP as a group separator
--no-group-separator use empty string as a group separator
--color[=WHEN],
--colour[=WHEN] use markers to highlight the matching strings;
WHEN is 'always', 'never', or 'auto'
-U, --binary do not strip CR characters at EOL (MSDOS/Windows)
Ha a FÁJL a '-', akkor a szabványos bemenetről olvas. Ha nincs megadva FÁJL,
rekurzív működéskor a '.' egyébként a '-' olvasása. Kettőnél kevesebb
FÁJL megadásakor a -h kapcsolót feltételezi. A kilépési érték:
0, ha van találat, egyébként 1; ha hiba történt és a -q nincs megadva: 2
Az egrep parancs ugyanígy használható.
Példa
Listázzuk ki azokat a fájlokat, amelyekben szerepel a png karaktersorozat!
[gabor@linux peldak]$ ls -l | grep png
-rwxrwxrwx. 1 gabor gabor 19679 febr 20 10.18 688px-Tee.svg.png
Hány txt fájl van a könyvtáramban?
[gabor@linux peldak]$ ls -l | grep -c txt
2
Licensed under the Creative Commons Attribution Non-commercial Share Alike License 4.0