آیا میخواهید همه فایل هایی که شامل یک عبارت یا کلمه خاص هستند را در کل سیستم عامل لینوکس تان یا در یک دایرکتوری خاص جستجو کنید. این مقاله شما را در نحوه انجام آن راهنمایی خواهد کرد. شما نحوه جستجوی به صورت recursive (شامل همه فایل های موجود در زیر دایرکتوری ها) را در دایرکتوری های مورد نظر آموزش خواهید دید تا بتوانید همه فایل هایی که شامل عبارت مورد نظر از متن هستند را پیدا و لیست کنید.
آسانترین راه برای انجام دادن این کار استفاده از ابزار جستجوی الگو (دستور grep) میباشد که یک ابزار کامند لاینی معروف، قدرتمند، موثر و قابل اطمینان برای پیدا کردن الگوها و کلمات از فایل ها یا دایرکتوری ها در سیستم های شبه Unix میباشد.
همچنین توصیه میشود مطالعه شود.
11 دستور پیشرفته Grep در Character Classes و Bracket Expressions
دستور زیر همه فایل هایی که شامل عبارت "mina" میباشند را به صورت recursive در دایرکتوری /root سرچ خواهد کرد.
در دستور بالا آپشن -R به grep میگوید که همه فایل های تحت دایرکتوری را به صورت recursive بخواند. آپشن -w برای انتخاب تنها آن خط هایی است که شامل عبارت match شده هستند و آپشن -e برای مشخص کردن الگوی عبارتی که قرار است سرچ شود استفاده میشود.
شما باید از دستور sudo به هنگام جستجو فایل و دایرکتوری های خاص که نیاز به سطح دسترسی root دارند استفاده کنید (مگر اینکه شما در سیستم خود با اکانت root لاگین هستید).
برای اینکه حساسیت به حروف بزرگ و کوچک را (case sensitive) نادیده بگیریم از آپشن -i همانند زیر استفاده میکنیم.
اگر شما بخواهید خط دقیقی که عبارت مورد نظر در آن موجود است را بدانید باید از آپشن -n استفاده کنید.
فرض کنید دایرکتوری که شما میخواهید در آن جستجو کنید شامل چندین نوع فایل باشد شما همچنین میتوانید نوع فایل هایی که برای عبارت مورد نظر میخواهید سرچ کنید، را مشخص کنید. که میتوانید با استفاده از آپشن --include و مشخص کردن پسوند فایل ها به هدف خود برسید.
در مثال زیر grep تنها همه فایل های .sh را بررسی میکند.
علاوه براین امکان جستجوی بیشتر از یک الگو نیز با استفاده از دستور زیر وجود دارد.
اگر شما هر گونه ترفند کامند لاینی دیگری برای جستجوی عبارت یا کلمه در فایل ها میشناسید آنرا با ما به اشتراک بگذارید.
آسانترین راه برای انجام دادن این کار استفاده از ابزار جستجوی الگو (دستور grep) میباشد که یک ابزار کامند لاینی معروف، قدرتمند، موثر و قابل اطمینان برای پیدا کردن الگوها و کلمات از فایل ها یا دایرکتوری ها در سیستم های شبه Unix میباشد.
همچنین توصیه میشود مطالعه شود.
11 دستور پیشرفته Grep در Character Classes و Bracket Expressions
دستور زیر همه فایل هایی که شامل عبارت "mina" میباشند را به صورت recursive در دایرکتوری /root سرچ خواهد کرد.
کد PHP:
# grep -Rw /root/ -e 'mina'
در دستور بالا آپشن -R به grep میگوید که همه فایل های تحت دایرکتوری را به صورت recursive بخواند. آپشن -w برای انتخاب تنها آن خط هایی است که شامل عبارت match شده هستند و آپشن -e برای مشخص کردن الگوی عبارتی که قرار است سرچ شود استفاده میشود.
شما باید از دستور sudo به هنگام جستجو فایل و دایرکتوری های خاص که نیاز به سطح دسترسی root دارند استفاده کنید (مگر اینکه شما در سیستم خود با اکانت root لاگین هستید).
کد PHP:
$ sudo grep -Rw / -e 'mina'
کد PHP:
# grep -Riw /root/ -e 'mina'
کد PHP:
# grep -Rinw /root/ -e 'mina'
فرض کنید دایرکتوری که شما میخواهید در آن جستجو کنید شامل چندین نوع فایل باشد شما همچنین میتوانید نوع فایل هایی که برای عبارت مورد نظر میخواهید سرچ کنید، را مشخص کنید. که میتوانید با استفاده از آپشن --include و مشخص کردن پسوند فایل ها به هدف خود برسید.
در مثال زیر grep تنها همه فایل های .sh را بررسی میکند.
کد PHP:
# grep -Rnw --include=\*.sh /root/ -e 'mina'
کد PHP:
# grep -Rinw /root/ -e 'mina' -e 'maryam'
اگر شما هر گونه ترفند کامند لاینی دیگری برای جستجوی عبارت یا کلمه در فایل ها میشناسید آنرا با ما به اشتراک بگذارید.