اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

جستجوی یک کلمه یا string در کل فایل های متنی در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    جستجوی یک کلمه یا string در کل فایل های متنی در لینوکس

    سلام دوستان. من یک دایرکتوری داشتم که کلی فایل های متنی توش بود توی چند تا از این فایل ها یک کلمه خاصی رو به کار برده بودم که فراموش کردم کدوم فایل ها دارای این کلمه خاص هستند. برای همین دنبال یک راه حلی بودم که بتونم یک کلمه یا string رو در داخل همه این فایل های سرچ کنه که بدونم کدوم یک از این فایل ها دارای همچین محتوایی هستند. ابتدا از دستور find همانند زیر برای این کار استفاده کردم که نتیجه ای در بر نداشت.
    کد PHP:
    find / -type f -exec grep -'text-to-find-here' {} \; 

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

    برای این کار میتونید از دستور grep همانند زیر استفاده کنید.

    کد PHP:
    grep -rnw '/path/to/somewhere/' -'pattern' 

    آپشن -r یا -R : کل دایرکتوری ها و زیر شاخه های دایرکتوری انتخاب شده را جستجو میکند.
    آپشن -n : شماره line ها میباشد.
    آپشن -w : برای ست کردن کلمه خاصی که میخواهیم دنبالش بگردیم.
    آپشن -l : می تواند اضافه شود تا فقط نام فایل را با کلمه خاص مورد نظر ما تطبیق داده شود.


    همچنین آپشن های --exclude, --include, --exclude-dir هم میتواند برای شما کارآمد باشد.


    این دستور فقط فایل هایی که دارای پسوند c یا h هستند را جستجو میکند.
    کد PHP:
    grep --include=\*.{c,h} -rnw '/path/to/somewhere/' -"pattern" 

    این دستور همه فایل های با پسوند -o را از سرچ نادیده میگیرد.
    کد PHP:
    grep --exclude=*.-rnw '/path/to/somewhere/' -"pattern" 

    در مورد دایرکتوری ها امکان اینکه یک دایرکتوری را در سرچ نادیده بگیریم از پارامتر --exclude-dir استفاده میکنیم. برای مثال دستور زیر دایرکتوری های dir1/ و dir2/ و تمام مواردی که با *.dst مچ شوند را در سرچ نادیده میگیرد.
    کد PHP:
    grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -"pattern" 

    همچنین توصیه میشود مطالعه کنید :

    دستور find در لینوکس برای جستجوی فایل ها و دایرکتوری ها

    دستور grep در لینوکس به همراه 12 مثال عملی

    دستور awk در لینوکس برای فیلتر کردن متن یا کلمات در فایل ها


    نویسنده : البرز احمدی
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-22-2021, 11:23 PM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی
در حال انجام ...
X