چگونه در لینوکس همه فایلهایی که شامل یک رشته خاص هستند، پیدا کنم؟

چگونه در لینوکس همه فایلهایی که شامل یک رشته خاص هستند، پیدا کنم؟

1 ۱
۱
من در لینوکس به دنبال راهی میگردم تا از بین همه فایل های موجود؛ فایل هایی که شامل یک رشته مشخصی هستند رو بتونم پیدا کنم. برای شفاف تر شدن باید بگم که ؛ این رشته باید داخل فایل باشه نه جزو اسم فایل.  

1
2 ۲

کارهای زیر رو انجام بدید:

grep -rnw '/path/to/somewhere/' -e 'pattern'

r مخفف بازگشتی بودن هست (recursive).

n مخفف شماره خط هست (line number).

w مخفف کل کلمه هست (whole word).

 علاوه بر این،exclude-- و include-- و exclude-dir--  هم برای جستجوی موثر استفاده میشه:

دستور زیر فقط فایل هایی با پسوند c. و h. رو پیدا میکنه :

grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -e "pattern"

 دستور زیر فایل هایی که به o. ختم میشوند را صرف نظر میکنه:

grep --exclude=*.o -rnw '/path/to/somewhere/' -e "pattern"

 دستور زیر از دایرکتوری خاصی صرف نظر میکنه. برای مثال دستور زیر از dir1 و dir2 و همه آنهایی که با dst.* تطابق دارند؛ صرف نظر میکند. 

grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"

برای بررسی موارد بیشتر دستور زیر را بررسی کنید:

man grep

 

امکان پاسخ دهی به این سوال مسدود شده است


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