Jeden z príkazov, ktoré v termináli používam najčastejšie, je grep, dokonca viac ako cd o ls.
grep Má veľa možností a ponúka nepodobné možnosti, ja však používam najkonvenčnejší možný spôsob, ale začnime vysvetlením Čo je grep?
grep je jednoducho filter, je to príkaz, ktorý zobrazuje riadky, ktoré sa zhodujú s filtrom, ktorý sme deklarovali.
Napríklad v našom systéme máme súbor / usr / share / doc / bash / FAQ a obsah tohto súboru je:
Ak chcete vypísať obsah v termináli pomocou príkazu ako (áno mačka, ako mačka hehe), môžu to urobiť:
cat /usr/share/doc/bash/FAQ
Teraz predpokladajme, že chceme uviesť iba riadok toho súboru, ktorý hovorí o verzii, na tento účel použijeme grep:
cat /usr/share/doc/bash/FAQ | grep version
Ak ho vložíte do terminálu, zobrazí sa iba riadok, ktorý obsahuje „verziu“ v danom súbore, už sa nebude zobrazovať žiadny riadok, ktorý dané slovo neobsahuje.
Čo ak chcem zobraziť všetko okrem riadku verzie?
To znamená, že spôsobom, ktorý som vám vysvetlil, by sa zobrazilo všetko, čo sa zhoduje s filtrom. Teraz vám ukážem, ako sa má všetko zobraziť. okrem čo zodpovedá filtru:
cat /usr/share/doc/bash/FAQ | grep -v version
Vnímate rozdiel? ... jednoducho doplniť -v už to robí rozdiel 😀
Ak teda dajú grep ukáže vám iba to, čo zodpovedá filtru, ale ak dáte grep -v zobrazí vám všetko okrem filtra.
Takže tu sa príspevok končí, len ďalší tip, že teraz to môžu zmierniť, ale ... netušia, aký užitočný môže byť grep, je to vážne záchranca 😀
pozdravy
Nepochybne veľmi všestranný príkaz, akonáhle sa ho naučíte zvládať, uľahčí vám život =) ...
Ahoj! .. ..skutočne veľmi užitočný príkaz .. v mojom prípade ho používam veľa ..
Jednoduchým príkladom by mohol byť napríklad dpkg -l | grep 'balíček' (v prípade distribúcií založených na Debiane), zvykne sa vedieť, či máme tento balík nainštalovaný.
Je skvelé dať tieto nástroje celej našej komunite 😉
Dakujem pekne 😀
Grep je v skutočnosti taký silný ako naša fantázia, hahahaha, spolu s awk (a cut) skutočne dosahujú zázraky * - *
Čoskoro uvediem niekoľko ďalších tipov na prácu s terminálom 😉
Zdravím a ďakujem za komentár.
PS: Váš e-mail je zaujímavý LOL !!
Veľmi dobre!! Áno, grep je určite jedným zo šetričov života pre každého, kto rád používa terminál. Len pár bodov: Naozaj nemusíte vôbec používať príkaz cat. Názov súboru môžete vložiť ako parameter grep, ako je tento:
grep verzia / usr / share / doc / bash / FAQ
Aj keby to nebolo možné, vždy by existovala možnosť presmerovať vstup príkazu takto:
grep verzia </ usr / share / doc / bash / FAQ
Posledne menovaný je možné vykonať pomocou ľubovoľného príkazu, takže nikdy nie je potrebné na odoslanie súboru pomocou vstupu cat zadať príkaz.
Použitie presmerovania namiesto mačky spôsobí, že shell spustí o jeden proces menej, a teda spotrebuje menej zdrojov. Nie je to znateľný rozdiel, ale považuje sa to za dobrú prax.
Na druhej strane sa grep stáva skutočne užitočným pri používaní regulárnych výrazov ... Ak by som chcel pomôcť zverejnením príspevku o regulárnych výrazoch, čo by som musel urobiť? Stačí pridať nový príspevok z pracovnej plochy WordPress?
Och zaujímavé, vždy som si ho zvykla používať s mačkou HAHAHAHA, ďakujem za tip 😀
S grepom môžete filtre urobiť aj trochu menej základné, napríklad:
grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt
Toto v podstate zobrazuje riadky, ktoré obsahujú výraz, ktorý hľadáme (ktorý môže byť v akejkoľvek kombinácii veľkých a malých písmen), plus tri riadky pred ním a tri za ním, zvýrazní výsledky inou farbou, vloží čísla riadkov na výsledkoch a umožňuje povoliť rozšírené regulárne výrazy, ktoré v tomto prípade umožňujú vyhľadávanie v súbore „myfile.txt“ pre všetky riadky končiace desdelinuxsmerom k linuxu alebo obyčajnému linuxu (s koncovým bodom alebo bez neho).
Mimochodom, regulárne výrazy ponúkajú veľkú flexibilitu a každý dobrý „geek“ s vášňou pre slobodný softvér by sa ich mal naučiť používať, hehe.
Je tiež možné použiť zgrep pre tablety v .ta.gz, čo je veľmi užitočné, keď chceme skontrolovať staré protokoly. Na zdravie
Ahoj. dakujem za prispevok. Stáva sa mi, že keď použijem grep, slovo, ktoré napíšem do riadkov, ktoré sa objavia, nezmení farbu. (zvyčajne je to takto) [príklad: grep cat file.txt]
objavia sa čiary a mačka, ale mačka nezafarbí určitú farbu, aby ju odlíšila
(je to vidieť v kópuse môjho uni)
Viete, ako by som mohol aktivovať túto možnosť?
Prosím, ak mi môžete odpovedať. môj e-mail je sps-003@hotmail.com
priateľ musí napísať mačku do úvodzoviek „mačka“ alebo tiež „mačka“, za ktorou nasleduje názov súboru, kde ho chce nájsť
Ahoj kamarát, máš úplnú pravdu, máš obrovský zmysel pre užitočnosť. Odteraz grep dávam na prvé miesto v mojom zozname obľúbených príkazov.
ide o
A aké by to bolo, keby sa zamestnancom zobrazovali filtrovaní podľa platu?