Linux арқылы сығылған файлдарды қалай іздеу керек

Бұл нұсқаулық қысылған файлдарды мәтін жолына немесе белгілі бір өрнекте қалай іздеу керектігін көрсетеді.

Grep командасымен қалай іздеу және сүзу нәтижелері

Ең қуатты Linux командаларының бірі - «Global Regular Expressions Print» деген мағынаға ие.

Файлдың мазмұнын немесе басқа пәрменнен шыққан үлгіні іздеу үшін grep функциясын пайдалануға болады.

Мысал ретінде, келесі ps пәрменін іске қоссаңыз, компьютерде жұмыс істейтін үрдістердің тізімін көресіз.

ps -ф

Нәтижелері экранға тез жылжиды және егер әдетте нәтижелердің көп саны болса. Бұл ақпараттың әсіресе ауыр екенін байқауға болады.

Сіз, әрине, нәтижелердің бір бетін бір уақытта келесідей тізімге енгізу үшін көбірек пәрменді пайдалана аласыз:

ps -ef | Көбірек

Жоғарыда көрсетілген пәрменнің нәтижесі бұрынғыдан жақсы болғанмен, сіз іздеген нәрсені табу үшін нәтижелерді іздеуге тура келеді.

Grep пәрмені сіз жіберген критерийлердің негізінде нәтижелерді сүзуге мүмкіндік береді. Мысалы, 'root' деп орнатылған UID-пен барлық процестерді іздеу үшін келесі пәрменді іске қосыңыз:

ps -ef | жасыл түбірі

Grep пәрмені файлдарда да жұмыс істейді. Сізде кітабының атауларының тізімін қамтитын файлыңыз бар екенін елестетіңіз. Файлда «Қызылшық» деп атағыңыз келетінін елестетіп көріңіз. Файлды келесідей іздеуіңізге болады:

grep «Little Red Riding Hood» кітаптар тізімі

Grep пәрмені өте қуатты және осы мақалада онымен бірге қолдануға болатын пайдалы ажыратқыштардың көпшілігі көрсетіледі.

Zgrep командамен сығылған файлдарды қалай іздеу керек

Белгілі, бірақ өте қуатты құрал zgrep. Zgrep пәрмені алдымен мазмұнды шығарусыз қысылған файлдың мазмұнын іздеуге мүмкіндік береді.

Zgrep пәрмені zip файлдарына немесе gzip пәрменін пайдалану арқылы қысылған файлдарға қолданылуы мүмкін.

Бұл айырмашылық неде?

Zip файлы бірнеше файлды қамтуы мүмкін, ал gzip пәрменін пайдаланып сығылған файл бастапқы файлды ғана қамтиды.

Gzip арқылы сығылған файл ішіндегі мәтінді іздеу үшін жай ғана келесі пәрменді енгізуге болады:

zgrep өрнегі filetosearch

Мысалы, кітаптар тізімін gzip арқылы сығылған деп елестетіңіз. Төмендегі пәрменді пайдаланып, қысылған файлда «қызыл қызыл күрекшесі» мәтінін іздеуге болады:

zgrep «Қызыл қызыл бөрене» bookslist.gz

Zgrep пәрменінің бөлігі ретінде grep пәрмені арқылы қол жетімді кез келген өрнекті және барлық параметрлерді пайдалануға болады.

Zipgrep командасының көмегімен сығылған файлдарды қалай іздеу керек

Zgrep командасы gzip арқылы сығылған файлдармен жақсы жұмыс істейді, бірақ zip утилитасын пайдаланып қысылған файлдарда соншалықты жақсы жұмыс істемейді.

Zgrep файлын zip файлында бір файл бар болса, пайдалануға болады, бірақ zip файлдарының көбінде бірнеше файл бар.

Zipgrep пәрмені zip файлындағы үлгілерді іздеу үшін пайдаланылады.

Мысал ретінде төмендегі тақырыптардағы кітаптар деп аталатын файл бар:

Сондай-ақ келесі атаумен фильм деп аталатын файлыңыз бар екенін елестетіңіз

Енді осы екі файл ZIP-форматты media.zip деп аталатын файлға сығымдалған деп елестетіңіз.

ZIP файлындағы барлық файлдардағы үлгіні табу үшін zipgrep пәрменін пайдалануға болады. Мысалға:

zipgrep үлгісінің файл атауы

Мысалы, сіз «Гарри Поттердің» барлық кездесулерін табуға тырысқаныңызды елестетіп көріңіз:

zipgrep «Гарри Поттер» media.zip

Шығару келесідей болады:

кітаптар: Гарри Поттер және құпияларды палатасы

кітаптар: Гарри Поттер және Феникс ордені

фильмдер: Гарри Поттер және құпияларды палатасы

кинофильмдер: Гарри Поттер және оттың гоблеті

Сіз zipprep көмегімен кез-келген сөйлемшені пайдалана аласыз, бұл сізді grep көмегімен пайдалануға болады, бұл құралды өте қуатты етеді және zip-файлдарды іздеуді басады, одан кейін іздеп, кейін қайта қысудан әлдеқайда қарапайым етеді.

Егер тек zip файлындағы белгілі бір файлдарды іздегіңіз келсе, zip файлында пәрменнің бөлігі ретінде іздеу үшін файлдарды келесідей көрсете аласыз:

zipgrep «Гарри Поттер» media.zip фильмдер

Шығару келесідей болады

фильмдер: Гарри Поттер және құпияларды палатасы

кинофильмдер: Гарри Поттер және оттың гоблеті

Егер сіз барлық файлдарды іздеуді қаласаңыз, келесі пәрменді пайдалана аласыз:

ziprrep «Гарри Поттер» media.zip -x кітаптар

Бұл кітаптардан басқа media.zip ішіндегі барлық файлдарды іздейтін сияқты бұрынғы нәтижені береді.