حذف فایل هایی که حاوی متن خاص هستند

اگر می خواهید تعداد زیادی فایل را که حاوی متن خاصی هستند حذف کنید بهترین کار استفاده از دستورات SSH است.

دستورات زیادی برای جستجو در فایلها وجود دارد. مثلا grep , find, sed و …

در اینجا ما برای پیدا کردن فایل و پیدا کردن متن در فایل از دستورات find و grep بصورت ترکیبی استفاده می کنیم.

فرض کنید میخواهیم تمام فایل هایی که حاوی عبارت abcd1234 هستند را حذف کنیم.

در این صورت دستور ما برای جستجو بصورت زیر خواهد بود :

find . -type f | xargs grep -l "abcd1234" | xargs rm &

 

دستور اول برای جستجوی فایل ها در پوشه فعلی(و زیرپوشه ها) استفاده می شود find . -type f

دستور دوم برای پیدا کردن متن abcd1234 استفاده می شود grep -l “abcd1234”

دستور سوم برای حذف فایل های پیدا شده با دو دستور قبل استفاده می شود (rm)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *