نحوه جستجوی فایل های فشرده با استفاده از لینوکس

این راهنما به شما نشان می دهد چگونه فایل های فشرده شده را برای یک رشته از متن یا برای یک عبارت خاص جستجو کنید.

چگونه نتایج جستجو و فیلتر با استفاده از فرمان Grep

یکی از قدرتمندترین دستورات لینوکس، grep است که برای "Expressions Regular Expressions" چاپ می شود.

شما می توانید از grep برای جستجوی الگوها در محتویات یک فایل یا خروجی از فرمان دیگر استفاده کنید.

به عنوان مثال، اگر شما دستور زیر را اجرا کنید، لیستی از فرآیندهای موجود در رایانه خود را مشاهده خواهید کرد.

ps -ef

نتایج به سرعت به صفحه نمایش رفته و اگر معمولا تعداد زیادی از نتایج وجود دارد. این باعث می شود که اطلاعات به ویژه دردناک باشد.

البته می توانید از دستور بیشتر برای نمایش یک صفحه نتایج در یک زمان به صورت زیر استفاده کنید:

ps -ef | بیشتر

در حالی که خروجی از فرمان بالا بهتر از قبل است، شما هنوز هم باید از طریق نتایج صفحه برای پیدا کردن آنچه شما دنبال آن هستید.

دستور grep امکان فیلتر کردن نتایج را براساس معیارهایی که به آن ارسال می کنید امکان می دهد. به عنوان مثال برای جستجو برای تمام فرآیندهای با UID تنظیم شده به 'root'، دستور زیر را اجرا کنید:

ps -ef | ریشه گرپ

دستور grep نیز در فایل ها کار می کند. تصور کنید که یک فایل حاوی یک لیست از عناوین کتاب است. تصور کنید که میخواهید ببینید آیا فایل حاوی "کوچک سواری هود" است. شما می توانید فایل را به صورت زیر جستجو کنید:

grep "Little Red Hood" سوابق کتابفروشی

دستور grep بسیار قدرتمند است و این مقاله نشان می دهد بیشتر سوئیچ های مفید که می توانند با آن استفاده شوند.

چگونه فایل های فشرده را با استفاده از فرمان zgrep جستجو کنید

ابزار کمی شناخته شده اما بسیار قدرتمند zgrep است. دستور zgrep به شما امکان می دهد محتویات یک فایل فشرده را بدون کشیدن محتویات اول را جستجو کنید.

دستور zgrep می تواند در برابر فایل های زیپ یا فایل های فشرده با استفاده از دستور gzip استفاده شود .

تفاوت در چیست؟

یک فایل زیپ می تواند چندین فایل داشته باشد در حالی که یک فایل فشرده شده با استفاده از دستور gzip تنها شامل فایل اصلی می باشد.

برای جستجوی متن در یک فشرده با gzip فشرده می توانید به سادگی دستور زیر را وارد کنید:

zgrep expression filetosearch

به عنوان مثال تصور کنید که لیست کتاب ها با استفاده از gzip فشرده شده است. شما می توانید متن "hood قرمز کمی قرمز" را در فایل فشرده با استفاده از دستور زیر جستجو کنید:

zgrep "Little Red Riding Hood" books lists.gz

شما می توانید از هر عبارت و تمامی تنظیمات موجود از طریق دستور grep به عنوان بخشی از دستور zgrep استفاده کنید.

نحوه جستجوی فایل های فشرده با استفاده از دستور zipgrep

دستور zgrep به خوبی با فایل های فشرده شده با استفاده از gzip کار می کند، اما در فایل های فشرده شده با استفاده از ابزار zip به خوبی کار نمی کند.

شما می توانید از zgrep استفاده کنید اگر فایل زیپ حاوی یک فایل واحد باشد اما بیشتر فایل های زیپ حاوی بیش از یک فایل هستند.

دستور zipgrep برای جستجوی الگوها در یک فایل زیپ مورد استفاده قرار می گیرد.

به عنوان مثال، تصور کنید که یک فایل با نام کتاب با عناوین زیر داشته باشید:

همچنین تصور کنید که یک فایل به نام فیلم با عناوین زیر داشته باشید

اکنون تصور کنید که این دو فایل با استفاده از فرمت zip به فایل media.zip فشرده شده است.

شما می توانید از دستور zipgrep برای پیدا کردن الگوهای در تمام فایل ها در فایل zip استفاده کنید. مثلا:

نام فایل الگو zipgrep

به عنوان مثال، تصور کنید که می خواهید همه رخدادهای "هری پاتر" را پیدا کنید که از دستور زیر استفاده می کنید:

zipgrep "هری پاتر" media.zip

خروجی به شرح زیر است:

کتاب ها: هری پاتر و اتاق اسرار

کتاب ها: هری پاتر و ترتیب ققنوس

فیلم: هری پاتر و اتاق اسرار

فیلم: هری پاتر و جام حذفی

همانطور که می توانید از هر عبارت با zipgrep که می توانید با grep استفاده کنید، این ابزار را بسیار قدرتمند می کند و باعث می شود فایل های zip بسیار ساده تر از فشرده سازی، جستجوی و سپس دوباره فشرده سازی باشد.

اگر فقط می خواهید فایل های خاصی را در فایل zip جستجو کنید، می توانید فایل ها را برای جستجو در فایل zip به عنوان بخشی از فرمان به شرح زیر مشخص کنید:

zipgrep "هری پاتر" media.zip فیلم

خروجی اکنون به شرح زیر است:

فیلم: هری پاتر و اتاق اسرار

فیلم: هری پاتر و جام حذفی

اگر میخواهید همه فایلها را به جز یکی جستجو کنید، میتوانید از دستور زیر استفاده کنید:

zipgrep "هری پاتر" media.zip -x books

این همان خروجی همانند قبل را به عنوان جستجو در همه فایل ها در media.zip به جز برای کتاب ها تولید می کند.