از طریق منوی جستجو مطلب مورد نظر خود در وبلاگ را به سرعت پیدا کنید
روش استفاده از کلاس های کاراکتر sed
سرفصلهای مطلب
به عنوان مثال، ارقام هنگام استفاده از sed از طریق آن قابل دسترسی هستند [[:digit:]کلاس ]و کاراکترهای الفبای عددی در کلاسی به نام as ذخیره می شوند [[:alnum:]]. به طور مشابه، همه کاراکترها به یک کلاس کاراکتر خاص تعلق دارند. با آگاهی از اهمیت این کلاسها، راهنمای امروز ما به ارائه بینشی عمیق از کلاسهای شخصیت در sed متمرکز شده است.
بنابراین، بیایید این آموزش را شروع کنیم:
کلاس های شخصیت در sed
این بخش شامل کلاس های کاراکتری است که در sed برای مدیریت فایل های متنی استفاده می شود:
کلاس حروف الفبا : کاراکترهای الفبایی در sed از طریق ” قابل دسترسی هستندکلاس حروف الفبا”؛ و می توان فایل های متنی را با فراخوانی کلاس الفبا مدیریت کرد: کلمه کلیدی مورد استفاده برای ارجاع به این کلاس در زیر نوشته شده است:
به عنوان مثال، ما می خواهیم تمام خطوطی را که حاوی حروف الفبایی هستند از ” حذف کنیم.test.txt”؛ بنابراین، برای این کار باید از این کلاس همانطور که در دستور زیر نشان داده شده است استفاده کنید.
توجه داشته باشید: از کلمه کلیدی کلاس با دقت استفاده کنید در غیر این صورت دستور کار نخواهد کرد:
علاوه بر این، می توانید عملیات دیگری مانند جایگزینی، چاپ را انجام دهید، همانطور که در دستور بالا حذف را انجام داده ایم.
کلاس حروف عددی : این کلاس شامل کاراکترهای الفبایی عددی است که شما به تمام حروف و اعداد عددی نیز دسترسی خواهید داشت.
مثال زیر به شما کمک می کند تا کاربرد اصلی این کلاس در اوبونتو را درک کنید: از فایل “test.txt“، ما تمام کلماتی که دارای کاراکترهای الفبایی هستند را با دنبال کردن دستور زیر نمایش داده ایم:
کلاس کاراکترهای حروف کوچک : این کلاس sed برای مدیریت حروف کوچک در یک فایل متنی استفاده می شود. با استفاده از این کلاس می توانید حروف کوچک را جایگزین، حذف، چاپ کنید. کلمه کلیدی استفاده شده برای این کلاس در زیر نشان داده شده است:
به عنوان مثال، اگر می خواهید خطوطی را چاپ کنید که دارای حروف کوچک هستند، دستور زیر به شما کمک می کند تا این کار را انجام دهید:
کلاس کاراکتر حروف بزرگ : این کلاس از sed شامل حروف بزرگ در آن است. کلمه کلیدی مورد استفاده برای آدرس دادن به کلاس حروف بزرگ در زیر نوشته شده است:
می توانید از این کلاس برای اعمال تغییرات جهت داده شده بر روی تمام حروف بزرگ استفاده کنید. برای مثال، دستور داده شده در زیر تمام خطوطی را که حاوی حروف بزرگ الفبا هستند حذف می کند.
کلاس کاراکترهای خالی : جاهای خالی ایجاد شده توسط نوار فاصله یا کلید tab در این کلاس قرار دارد. و می توان با استفاده از این کلاس کاراکتر، تمام خالی های موجود در فایل متنی را جایگزین، حذف کرد، کلمه کلیدی مورد استفاده برای آدرس دادن به این کلاس در زیر نمایش داده می شود:
به عنوان مثال، ما می خواهیم حروف را جایگزین کنیم.YYY” به جای فضاهای خالی در فایل متنی؛ بنابراین، دستور ذکر شده در زیر به جایگزینی فضای خالی با ” کمک می کند.YYY”:
کلاس شخصیت های فضایی : این کلاس دارای عملکردهای مشابه کلاس Blank است، اما چند ویژگی بیشتر از آن را پوشش می دهد. عملکردهای ارائه شده توسط کلاس کاراکتر فضا عبارتند از فضاها، خالی ها، و پشتیبانی از زبانه عمودی، خط جدید.
کلمه کلیدی مورد استفاده برای آدرس دادن به این کلاس در زیر نشان داده شده است:
دستور زیر تمام خطوطی را که حاوی کاراکترهای کلاس فضایی هستند از ” حذف می کند.test.txt”:
کلاس کاراکتر رقمی : این کلاس کاراکتر برای آدرس دهی و مدیریت ارقام در ابزار خط فرمان sed استفاده می شود. علاوه بر این، می توانید تغییرات جمعی مربوط به ارقام را در کل فایل متنی انجام دهید. کلمه کلیدی مورد استفاده برای آدرس دادن به این کلاس در زیر ذکر شده است:
به عنوان مثال، دستوری که در زیر نوشته شده است، تمام خطوطی را که شامل ارقام در “test.txt”:
کلاس کاراکترهای هگزادسیمال : این کلاس در sed شامل کاراکترهای هگزادسیمال (0-9، AF) کلمه کلیدی مورد استفاده برای اشاره به این کاراکترها در زیر ذکر شده است:
دستور ذکر شده در زیر خطوط حاوی نویسه های هگزادسیمال را در ” چاپ می کند.test.txt”:
کلاس کاراکتر چاپ : این کلاس شامل کاراکترهایی است که قابل چاپ هستند روی صفحه نمایش؛ همچنین شامل فاصله ها می شود: کلمه کلیدی مورد استفاده برای این کلاس:
به عنوان مثال، دستوری که در زیر نوشته شده است، تمام خطوطی را که حتی یک کاراکتر دارند چاپ می کند:
کلاس کاراکترهای کنترلی : این دسته از کاراکترها از کاراکترهای غیر قابل چاپ در یک فایل متنی تشکیل شده است. کلمه کلیدی استفاده شده برای این کلاس در زیر نوشته شده است:
کلاس کاراکترهای غیر قابل چاپ شامل فضای خالی، برگه ها، شکست خط، page می شکند و غیره،
دستوری که در زیر نوشته شده است خطوطی را که شامل کاراکترهای کنترلی در فایل متنی با نام “حذف می کند.new.txt”:
کلاس کاراکتر نمودار : این کلاس از کاراکترها شامل کاراکترهایی است که قابل چاپ هستند و مانند آن کار می کنند [[:print:]]؛ کلمه کلیدی کلاس گراف در اینجا نوشته شده است:
توجه داشته باشید: کاراکترهای گراف شامل تمام آن دسته از کاراکترهایی است که می توان آنها را به شیوه ای قابل خواندن توسط انسان ویرایش، چاپ کرد. به عنوان مثال، کاراکترهای کلاس های حروف الفبا، عددی، هگزادسیمال و غیره را می توان به عنوان کاراکترهای نمودار نام برد.
حالا بیایید وارد مثال شویم، دستوری که در زیر نوشته شده است، تمام خطوطی را که دارای کاراکترهای گراف هستند حذف می کند.newfile.txt”:
نتیجه
یکی از ویرایشگرهای معروف اوبونتو که به نام sed شناخته می شود، سهولت مدیریت فایل های متنی و کمک اصلی در این زمینه توسط کاراکترها را فراهم می کند. علاوه بر این، کلاسهایی از کاراکترها وجود دارند که شامل کاراکترهای یکسان هستند و به طور گسترده در sed استفاده میشوند. در این راهنمای دقیق، کلاسهای کاراکتر مورد استفاده در sed را هدف قرار دادهایم و کاربرد آنها را در خط فرمان به اختصار توضیح دادهایم. این کلاس ها می توانند برای انجام چندین عملیات در یک فایل متنی استفاده شوند. مثلاً اگر میخواهید ارقام یک فایل را مدیریت کنید، باید از کلاس اعداد استفاده کنید و به همین ترتیب، همه کلاسهای دیگر زمانی فراخوانی میشوند که عملکرد مربوطه آنها مورد نیاز باشد. علاوه بر این، ما استفاده از کلاس های کاراکتر را در مورد عملیات اساسی sed مانند جایگزینی، حذف و چاپ توضیح داده ایم.
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم
زمان انتشار: 1402-12-30 13:42:04