Isa sa mga utos na pinaka ginagamit ko sa terminal ay grep, kahit na higit pa sa cd o ls.
grep Mayroon itong maraming mga pagpipilian at nag-aalok ng hindi magkatulad na mga posibilidad, subalit ginagamit ko ang pinaka-maginoo na paraan na posible, ngunit magsimula tayo sa pamamagitan ng pagpapaliwanag Ano ang grep?
Ang grep ay isang filter lamang, ito ay isang utos na nagpapakita ng mga linya na tumutugma sa filter na aming idineklara.
Halimbawa, sa aming system mayroon kaming file / usr / share / doc / bash / FAQ at ang nilalaman ng file na ito ay:
Kung nais mong ilista ang nilalaman sa terminal na may utos pusa (oo pusa, tulad ng pusa hehe) magagawa nila ito:
cat /usr/share/doc/bash/FAQ
Ngayon, ipagpalagay na nais lamang naming nakalista ang linya ng file na iyon na nagsasalita tungkol sa bersyon, para dito ginagamit namin ang grep:
cat /usr/share/doc/bash/FAQ | grep version
Ang paglalagay nito sa terminal ay ipapakita lamang sa iyo ang linya na naglalaman ng "bersyon" sa file na iyon, hindi na ito magpapakita ng anumang linya na hindi naglalaman ng salitang iyon.
Paano kung nais kong ipakita ang lahat maliban sa linya ng bersyon?
Sa madaling salita, sa paraang ipinaliwanag ko sa iyo, ipapakita ang lahat ng tumutugma sa filter, ngayon ay ipapakita ko sa iyo kung paano mo lalabas ang lahat maliban sa ano ang tumutugma sa filter:
cat /usr/share/doc/bash/FAQ | grep -v version
Napansin mo ba ang pagkakaiba? ... simpleng pagdaragdag -v gumagawa na ito ng pagkakaiba 😀
Kaya kung inilagay nila grep ipapakita lamang nito sa iyo kung ano ang tumutugma sa filter, ngunit kung inilagay mo grep -v ipapakita nito sa iyo ang lahat maliban sa filter.
Kaya dito natapos ang post, isa pang tip na ngayon marahil ay maaari nila itong maliitin ngunit ... wala silang ideya kung gaano kapaki-pakinabang ang grep, seryoso itong isang tagapagligtas 😀
Regards
Walang alinlangan isang napaka-maraming nalalaman na utos, sa sandaling malaman mong hawakan ito, ginagawang mas madali ang iyong buhay =) ...
Kumusta! .. .. talagang isang napaka kapaki-pakinabang na utos .. sa aking kaso ginagamit ko ito ng marami ..
Ang isang simpleng halimbawa ay magiging, halimbawa, dpkg -l | grep 'package' (sa kaso ng mga distros batay sa debian), ginagamit ito upang malaman kung mayroon kaming naka-install na package.
Mahusay na ibigay ang mga tool na ito sa aming buong komunidad 😉
Maraming salamat 😀
Sa katunayan, ang grep ay kasing lakas ng ating imahinasyon hahahaha, kasama ang awk (at gupitin) nakakamit talaga nila ang mga kababalaghan * - *
Maglalagay ako ng ilang karagdagang mga tip para sa pagtatrabaho sa terminal sa lalong madaling panahon 😉
Pagbati at salamat sa iyong puna.
PS: Nakakatuwa ang iyong email LOL !!
Napakahusay !! Oo. Tiyak na ang grep ay isa sa mga tagatipid ng buhay para sa sinumang nais na gumamit ng terminal. Isang pares lang ng mga pangungusap: Hindi mo talaga kailangang gamitin ang utos ng pusa. Maaari mong ilagay ang filename bilang isang parameter ng grep tulad nito:
bersyon ng grep / usr / share / doc / bash / FAQ
Gayundin, kahit na hindi ito magagawa, palaging may pagpipilian na i-redirect ang utos ng utos sa pamamagitan ng paggawa ng katulad nito:
bersyon ng grep </ usr / share / doc / bash / FAQ
Ang huli ay maaaring gawin sa anumang utos, kaya't hindi kinakailangan na gumamit ng pusa upang magpadala ng isang file sa pag-input ng isang utos.
Ang paggamit ng isang pag-redirect sa halip na pusa ay sanhi ng paglulunsad ng shell ng isang mas kaunting proseso, kaya't kumakain ng mas kaunting mga mapagkukunan. Hindi ito isang kasiya-siyang pagkakaiba, ngunit ito ay itinuturing na mahusay na kasanayan.
Sa kabilang banda, ang grep ay magiging talagang kapaki-pakinabang kapag gumagamit ng regular na mga expression ... Kung nais kong tumulong sa pamamagitan ng paggawa ng isang post tungkol sa mga regular na expression, ano ang dapat kong gawin? Sapat na ba upang magdagdag ng isang bagong post mula sa desktop ng wordpress?
Oh nakakainteres, palagi akong nasanay na gamitin ito sa pusa HAHAHAHA, salamat sa tip 😀
Sa grep maaari ka ring gumawa ng mga filter nang medyo hindi gaanong pangunahing, halimbawa:
grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt
Karaniwang ipinapakita nito ang mga linyang naglalaman ng terminong hinahanap namin (na maaaring nasa anumang kumbinasyon ng malaki at maliit na titik), kasama ang tatlong linya bago ito at ang tatlo pagkatapos nito, hina-highlight ang mga resulta sa ibang kulay, naglalagay ng mga numero ng linya sa mga resulta, at nagbibigay-daan sa pagpapagana ng mga pinahabang regular na expression na sa kasong ito ay nagbibigay-daan sa paghahanap sa "myfile.txt" para sa lahat ng linya na nagtatapos sa desdelinux, patungo sa linux o plain linux (mayroon o walang endpoint).
Sa pamamagitan ng paraan, ang mga regular na expression ay nag-aalok ng maraming kakayahang umangkop at bawat mabuting "geek" na may isang simbuyo ng damdamin para sa libreng software ay dapat malaman na gamitin ang mga ito, hehe.
Posible ring gumamit ng zgrep para sa mga tablet sa .ta.gz napaka kapaki-pakinabang kapag nais naming suriin ang mga lumang log. Cheers
Hi salamat sa post. Nangyayari sa akin na ang paggamit ng grep, ang salitang isusulat ko sa mga lilitaw na linya ay hindi nagiging kulay. (sa pangkalahatan ganito ito) [halimbawa: grep cat file.txt]
ang mga linya at pusa ay lilitaw, ngunit ang pusa ay hindi lumiliko sa isang tiyak na kulay upang makilala ito
(sa ccompus ng aking uni nakikita ito)
Alam mo ba kung paano ko mai-aaktibo ang pagpipiliang ito?
Mangyaring kung maaari mong sagutin ako. ang aking email ay sps-003@hotmail.com
ang kaibigan ay kailangang magsulat ng pusa sa mga panipi na 'pusa' o "pusa" din na sinusundan ng pangalan ng file kung saan nais niyang hanapin ito
Kumusta kaibigan, ikaw ay ganap na tama, mayroon kang isang mahusay na pakiramdam ng pagiging kapaki-pakinabang. Mula ngayon, inilalagay ko muna ang grep sa aking listahan ng mga paboritong utos.
tungkol
At paano ito ipapakita sa mga empleyado na nasala sa pamamagitan ng suweldo?