Линукс ашиглан шахсан файлуудыг хэрхэн хайх талаар

Энэ гарын авлага нь шахсан файлуудыг текст текст эсвэл тусгай илэрхийлэлд хэрхэн хайхыг танд харуулах болно.

Grep Command ашиглан хэрхэн хайлт хийх, үр дүнг хэрхэн ялгах вэ?

Хамгийн хүчирхэг Линукс тушаалуудын нэг нь grep бөгөөд "Global Regular Expressions Print буюу Print Express" хэвлэгддэг.

Та файлын агуулгаар хэв маягийг хайж олохын тулд grep ашиглаж болно эсвэл өөр командаас гарсан үр дүнг хайж болно.

Жишээ нь хэрэв та дараах тушаалыг ажиллуулж байгаа бол таны компьютер дээр ажиллаж байгаа процессуудын жагсаалтыг харах болно.

ps -ef

Үр дүнг дэлгэц рүү хурдан гүйлгэн, ихэвчлэн олон тооны үр дүн гардаг. Энэ нь ялангуяа мэдээллийг эмх цэгцтэй байлгахад хүргэдэг.

Мэдээж хэрэг, нэг удаа үр дүнгийн хуудсыг нэг удаа жагсаахын тулд дараах тушаалыг ашиглаж болно :

ps -ef | дэлгэрэнгүй

Дээрх командын үр дүн нь өмнөхтэй харьцуулахад илүү дээр байх боловч та хайж байгаа зүйлээ олохын тулд хуудсаараа үр дүнгээ өгөх ёстой.

Grep тушаал нь таны илгээсэн шалгуурын дагуу үр дүнг шүүх боломжтой болгодог. Жишээ нь UID багцыг 'root' тушаалаар бүх процессуудыг хайхдаа дараах тушаалыг ажиллуулна:

ps -ef | grep root

Grep тушаал нь файл дээр ажилладаг. Номын нэрсийн жагсаалтыг агуулсан файл байна гэж төсөөлөөд үз дээ. Файл нь "Little Red Riding Hood" -ийг агуулж байгаа эсэхийг харахыг хүсэж байна гэж төсөөлөөд үз дээ. Та файлыг дараах байдлаар хайж болно:

grep "Little Red Riding Hood" номын жагсаалт

Grep тушаал нь маш хүчтэй бөгөөд энэ нийтлэл нь ашиглагдаж болох ашигтай switchуудын ихэнхийг харуулах болно.

Zgrep тушаал ашиглан шахсан файлуудыг хэрхэн хайх талаар

Бага зэрэг мэддэг боловч маш хүчирхэг хэрэгсэл бол zgrep юм. Zgrep тушаал нь шахсан файлыг агуулгыг задлахгүйгээр хайх боломжийг танд олгоно.

Zgrep тушаалыг zip файлууд эсвэл gzip тушаалаар шахсан файлуудаас ашиглаж болно.

Ялгаа нь юу вэ?

Зип файл нь олон файл агуулж болох боловч gzip тушаалаар шахагдсан файл нь зөвхөн эх файлыг агуулдаг.

Текстийг gzip дээр шахсан файл дотор хайхын тулд та дараах тушаалыг өгч болно:

filetosearch файлын нэр

Жишээ нь, номны жагсаалтыг gzip ашиглан шахсан гэж төсөөлөөд үз дээ. Дараах тушаалыг ашиглан шахагдсан файлын "жижиг улаан унах таг" текстийг хайж болно:

zgrep "Little Red Riding Hood" номlist.gz

Та grep тушаалаар zgrep тушаалын нэг хэсэг болгон ямар нэгэн илэрхийлэл болон бүх тохиргоог ашиглаж болно.

Zipgrep командыг ашиглан шахсан файлуудыг хэрхэн хайх талаар

Zgrep тушаал нь gzip ашиглан шахсан файлуудтай сайн ажилладаг боловч zip хэрэгсэл ашиглан шахсан файлууд дээр маш сайн ажилладаггүй.

Хэрэв та зип файл ганц файл агуулсан бол zgrep ашиглаж болно. Гэхдээ ихэнх zip файл нь нэгээс олон файл агуулж байдаг.

Zipgrep тушаал нь зип файл дотор загварыг хайхад ашиглагддаг.

Жишээ нь, танд дараах нэртэй ном гэж нэрлэгддэг файл байна гэж төсөөлж байна:

Дараах гарчигтай кино гэж нэрлэгдэх файлын файл байгаа гэж төсөөлөөд үз дээ

Одоо эдгээр хоёр файлыг зип форматаар media.zip нэртэй файл болгон шахсан гэж төсөөлөөд үзээрэй.

Та zipgrep тушаалыг ашиглан zip файл доторх бүх файлуудын хэв маягийг олох боломжтой. Жишээлбэл:

zipgrep загварын файлын нэр

Жишээлбэл, та "Харри Поттер" -ын бүх тохиолдлыг олохыг хүсч байгаа бол дараах тушаалыг ашиглана уу:

"Harry Potter" media.zip

Гаралт нь дараах байдалтай байна:

Ном: Харри Поттер ба нууцын танхим

Ном: Харри Поттер ба Финиксийн захиалга

Кино: Харри Поттер ба нууцын танхим

Кино: Харри Поттер ба Гал түймэр

Та grep ашиглан ашиглах боломжтой zipgrep ашиглан илэрхийлэл хийж чадна. Энэ нь багажийг маш хүчирхэг болгодог бөгөөд энэ нь хайлт хийж дараа нь шахахаас илүү энгийн zip файлуудыг хайдаг болгодог.

Зөвхөн зип файл доторх тодорхой файлуудыг хайхыг хүсвэл дараах тушаалыг өгч болно:

"Harry Potter" media.zip кино

Гаралт одоо дараах байдлаар байна

Кино: Харри Поттер ба нууцын танхим

Кино: Харри Поттер ба Гал түймэр

Хэрвээ та бүх файлуудыг хайхыг хүсвэл дараах тушаалыг ашиглаж болно:

"Harry Potter" media.zip -x номууд

Энэ нь media.zip дотор байгаа бүх файлуудыг хайж байгаа тул өмнөхтэй ижил гаралтыг гаргадаг.