Linux'u istifadə edərək sıxılmış faylları axtarma

Bu təlimatda bir mətn dizisi və ya müəyyən bir ifadə üçün sıxılmış faylların necə axtarış edəcəyi göstəriləcək.

Grep Komandirliyindən istifadə etmək üçün necə axtarış və nəticələr əldə etmək olar?

Ən güclü Linux əmrlərindən biri "Global Regular Expressions Print" -i təşkil edən grepdir.

Bir faylın tərkibində və ya digər əmrdən çıxdıqda nümunələri axtarmaq üçün grep istifadə edə bilərsiniz.

Məsələn, aşağıdakı ps əmrini yerinə yetirirsinizsə, kompüterinizdə işləyən proseslərin siyahısını görəcəksiniz.

ps -ef

Nəticələr tez bir şəkildə ekrana keçin və nəticədə çox sayda nəticə varsa. Bu, xüsusilə acı verən məlumatları nəzərdən keçirir.

Əlbəttə ki, nəticələrin bir səhifəsini bir anda siyahıya salmaq üçün daha çox əmri istifadə edə bilərsiniz:

ps-f | | daha çox

Yuxarıdakı əmrdən çıxdığınız əvvəlcədən daha yaxşı olsa da, aradıklarınızı tapmaq üçün nəticələrə baxmağınız lazımdır.

Grep əmri, göndərdiyiniz meyarlara əsasən nəticələrə süzülməni mümkün edir. Məsələn, UID ilə 'root' olaraq təyin olunan bütün prosesləri axtarmaq üçün aşağıdakı əmri çalıştırın:

ps-f | | grep kökü

Grep komutu həmçinin fayllarda işləyir. Kitabın başlıqlarının siyahısını ehtiva edən bir faylınız olduğunu düşünün. Dosyada "Little Red Riding Hood" ehtiva edirmi görmək istərdiniz. Faylı aşağıdakı kimi araşdıra bilərsiniz:

grep "Little Red Riding Hood" kitabçası

Grep əmri çox güclüdür və bu yazıda istifadə edilə bilən faydalı keçidlərin əksəriyyəti göstəriləcək.

Zgrep əmrini istifadə edərək sıxılmış faylları axtarma

Bir az bilinən, lakin çox güclü bir vasitədir zgrep. Zgrep əmri, əvvəlcə məzmunu çıxarmadan sıxılmış bir faylın məzmununu axtarmaq imkanı verir.

Zgrep komutu gzip komutunu istifadə edərək sıxılmış faylları və ya fayllara qarşı istifadə edilə bilər.

Fərq nədir?

Bir zip faylı birdən çox fayl ehtiva edə bilər, gzip əmri ilə sıxılmış bir fayl isə yalnız orijinal faylları ehtiva edir.

Gzip ilə sıxılmış bir fayl daxilində mətni axtarmaq üçün sadəcə aşağıdakı əmri daxil edə bilərsiniz:

zgrep ifadə filetosearch

Misal üçün, gzip istifadə edərək, kitablar siyahısının sıxılmış olduğunu təsəvvür edin. Aşağıdakı əmri istifadə edərək sıxılmış faylda "kiçik qırmızı sürüşmə başlığı" mətni axtara bilərsiniz:

zgrep "Little Red Riding Hood" kitablar

Zgrep əmrinin bir hissəsi kimi grep komanda vasitəsilə mövcud hər hansı bir ifadə və bütün parametrlərdən istifadə edə bilərsiniz.

Bu zipgrep Command istifadə siqnal faylları axtar

Zgrep əmri gzip istifadə edərək sıxılmış fayllar ilə yaxşı işləyir, lakin zip proqramını istifadə edərək sıxılmış fayllarda bu qədər yaxşı işləmir.

Zip faylı bir fayl içərsə, zgrep istifadə edə bilərsiniz, ancaq əksər zip faylları birdən çox fayl ehtiva edir.

Zipgrep əmri bir zip faylı daxilində nümunələri axtarmaq üçün istifadə olunur.

Nümunə olaraq, aşağıdakı adları olan kitablar adlı bir fayl var:

Aşağıdakı adlarla filmlər adlanan bir faylınız var

İndi bu iki faylın zip formatı media.zip adlı bir faylda sıxılmış olduğunu təsəvvür edin.

Zip faylı içərisində olan bütün fayllarda nümunələri tapmaq üçün zipgrep əmrindən istifadə edə bilərsiniz. Misal üçün:

zipgrep nümunəsi filename

Məsələn, "Harry Potter" in bütün hadisələrini tapmaq istədiyinizi təsəvvür edin:

zipgrep "Harry Potter" media.zip

Çıxış aşağıdakı kimi olacaq:

kitablar: Harry Potter və Sirlər Palatası

kitablar: Harry Potter və Phoenixin sifarişi

filmlər: Harry Potter və Sirlər Palatası

filmlər: Harry Potter və Yanğın Qəbiristanlığı

Siz grep ilə istifadə edə biləcəyiniz zipgrep ilə hər hansı bir ifadə istifadə edə bilərsiniz kimi bu alət çox güclü edir və zip faylları açmaq, axtarış və daha sonra sıxışdırmaq daha asan axtarış edir.

Zip faylı içərisində müəyyən faylları axtarmaq istəyirsinizsə, faylları aşağıdakı kimi zip faylında axtarmaq üçün təyin edə bilərsiniz:

zipgrep "Harry Potter" media.zip filmləri

İndi çıxış belə olacaq

filmlər: Harry Potter və Sirlər Palatası

filmlər: Harry Potter və Yanğın Qəbiristanlığı

Bir başqa istisna olmaqla, bütün faylları axtarmaq istəyirsinizsə aşağıdakı əmrləri istifadə edə bilərsiniz:

zipgrep "Harry Potter" media.zip-x kitablar

Bu kitablar xaricində media.zip daxilindəki bütün faylları axtararkən, əvvəlki kimi eyni çıxışla çıxış edəcəkdir.