از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
چگونه می توانم دایرکتوری ها را از grep -R حذف کنم؟
سرفصلهای مطلب
پیش نیازها:
مشخص کنید که توزیع لینوکس نصب و پیکربندی شده باشد. ما از سیستم لینوکس اوبونتو 20.04 برای پیاده سازی این موضوع استفاده می کنیم. از طرف دیگر، شما باید حقوق کاربر root را نیز داشته باشید. فرمان خود را باز کنید terminal برای شروع کار
مثال 01:
وقتی دستور را باز می کنید terminal، شما در حال حاضر در فهرست اصلی سیستم لینوکس Ubuntu 20.04 هستید. بیایید به دایرکتوری Documents برویم. برای این کار، باید از دستور زیر در پوسته فرمان به همراه یک مسیر دایرکتوری استفاده کنید.
اکنون در دایرکتوری Documents سیستم لینوکس خود هستید. بیایید سه فایل جدید در دایرکتوری Documents ایجاد کنیم. برای ایجاد فایلهای جدید از نوع متن، دستور لمس زیر را در پوسته و به دنبال آن نام فایل جدید را امتحان کنید. می توانید ببینید که ما سه فایل به نام های “one.txt”، “new.txt” و “test.txt” ایجاد کرده ایم.
$ دست زدن به new.txt
$ دست زدن به test.txt
همانطور که در تصاویر زیر مشاهده می کنید باید در هر فایل به صورت جداگانه مقداری داده یا اطلاعات متنی اضافه کنید. حالا تمام فایل ها را ذخیره کرده و ببندید.
حالا برگرد به terminal و تمام فایل ها و پوشه های فهرست شده در فهرست اسناد را فهرست کنید. دستور ساده “ls” را برای انجام این کار مانند زیر اجرا کنید. شما یک خروجی از تمام فایل ها و پوشه های موجود در دایرکتوری Documents خواهید داشت. می بینید که فایل های متنی جدید ایجاد شده و به روز شده نیز وجود دارد.
حالا نوبت ماست که دستور grep –R را امتحان کنیم روی دایرکتوری Documents و فایل ها یا پوشه های آن. ما از دستور grep –R برای حذف دایرکتوری ها در حین استفاده از یک کلمه کلیدی یا کلمه منحصر به فرد استفاده خواهیم کرد. ما دستوری خواهیم داشت که آن کلمه خاص را از بین تمام فایلهای موجود در پوشه Documents جستجو میکند، به جز یک دایرکتوری که برای حذف در دستور داده شده است. بنابراین، ما می خواهیم دایرکتوری “Wao” را که در حال حاضر در فهرست اسناد وجود دارد حذف کنیم. بنابراین، دستور grep زیر را امتحان کنید تا دایرکتوری «Wao» را به همراه پرچم –R که برای عملکرد بازگشتی استفاده شده است، و «اقصا» به عنوان کلمه کلیدی برای جستجو در فایل ها استفاده شده است، حذف شود. خروجی در عکس زیر متن دو فایل “test.txt” و “new.txt” را نشان می دهد که متن “Aqsa” در داده های آنها وجود دارد و دایرکتوری “Wao” به دلیل حذف در فایل بررسی نشده است. فرمان با این حال، دایرکتوری “Wao” همچنین دارای تعدادی فایل متنی است که از بررسی آنها اجتناب می شود.
بیایید به هر دو پرونده نگاه کنیم. دستور cat را امتحان کنید تا فایل “new.txt” حاوی کلمه کلیدی “Aqsa” باشد.
فایل دیگر “test.txt” حاوی کلمه کلیدی “اقصا” با استفاده از دستور cat زیر نمایش داده شده است.
حالا بیایید همان دایرکتوری «Wao» را از پوشه Documents با استفاده از کلمه کلیدی دیگری، «شجاع»، در صورتی که در هر فایلی وجود دارد، حذف کنیم. بنابراین، دستور grep زیر را امتحان کنید تا دایرکتوری را مانند زیر حذف کنید. تصویر خروجی دو خروجی همسان برای کلمه کلیدی “شجاع” را در دو فایل “test.txt” و “one.txt” نشان می دهد.
می توانید مشاهده کنید که فایل “one.txt” حاوی کلمه کلیدی “شجاع” با استفاده از دستور cat است.
خروجی زیر فایل “test.txt” را نشان می دهد که حاوی کلمه کلیدی “شجاع” با استفاده از دستورالعمل گربه است.
مثال 02:
بیایید با استفاده از دستور “cd” در پوسته به زیر شاخه “Wao” پوشه Documents برویم.
بیایید سه فایل جدید، “bin.txt”، “had.txt” و “sec.txt” را در دایرکتوری “Wao” ایجاد کنیم، در حالی که از فرمان لمسی فهرست شده در زیر استفاده می کنیم. مقداری داده متنی را در همه فایل ها اضافه کنید، ذخیره کنید و سپس آنها را ببندید.
$ دست زدن به had.txt
$ دست زدن به sec.txt
بیایید همه دایرکتوری ها را با استفاده از دستور “ls” به صورت زیر فهرست کنیم. شما هر سه فایل جدید ایجاد شده را در آن خواهید یافت.
بیایید همان دستورالعمل grep را در دستور شما امتحان کنیم terminal برای حذف دایرکتوری “Wao” در حالی که از کلمه کلیدی دیگری “I” به عنوان مطابق زیر استفاده می کنید.
اکنون خروجی این دستور کلمه کلیدی “I” را در فایل های موجود در پوشه Documents نشان می دهد در حالی که دایرکتوری “Wao” با استفاده از کلمه کلیدی “exclude-dir” نادیده گرفته شده است.
حالا بیایید همان دایرکتوری Wao را با استفاده از کلمه کلیدی دیگر، “rimsha” از دستور grep که در زیر نشان داده شده است حذف کنیم. terminal. اسنپ خروجی هیچ خروجی را نشان نمی دهد زیرا کلمه کلیدی “Rimsha” در هیچ یک از فایل های موجود در پوشه Documents یافت نشده است.
مثال 03:
بیایید ابتدا با استفاده از دستور “cd” در زیر به پوشه Documents برویم.
بیایید همه فایلها و پوشههای Documents دایرکتوری را با استفاده از دستور ls فهرست کنیم. خروجی تعدادی متن و فایل های دیگر را به همراه یک زیر شاخه به نام Wao نشان می دهد.
اجازه دهید از همان دستور grep برای حذف دایرکتوری “Wao” از این پوشه با استفاده از کلمه کلیدی “Aqsa” در یک پرچم استفاده کنیم. خروجی چهار فایل متنی را نشان می دهد که کلمه “Aqsa” را در متن خود دارند در حالی که فهرست “Wao” اجتناب شده و بررسی نشده است.
نتیجه:
با استفاده از اوبونتو 20.04، ما قبلاً متوجه شده ایم که چگونه و چه زمانی از دستور grep –R استفاده کنیم. دستور grep بسیار متنوع است و به مکان یابی متن جاسازی شده در صدها سند کمک می کند.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-31 00:45:03