آیا شما فایل های کانفیگ بسیار طولانی دارید که هزاران خط در آن با استفاده از "#" یا ";" کامنت شده است و میخواهید تنها تنظیمات مهم را از آن فیلتر کنید؟ در این مقاله ما به شما نحوه مشاهده خطوطی که کامنت نیستند را در فایل های کانفیگ لینوکس شرح خواهیم داد.
همچنین توصیه میشود مطالعه کنید :
دستور ccat برای نمایش رنگی خروجی دستور cat
شما میتوانید از دستور grep برای این هدف استفاده کنید. دستور زیر امکان مشاهده تنظیمات جاری برای فایل کانفیگ PHP 7.3 بدون هیچ comment را فراهم می آورد. این دستور خط هایی را که با semicolon (;) آغاز شده است را حذف خواهد کرد.
دقت کنید که با توجه به اینکه (;) یکی از کاراکترهای خاص شل میباشد نیاز دارید که برای تغییر معنی آن از کاراکتر \ قبل از ; استفاده کنید.
در اکثر فایل های کانفیگ کاراکتر # برای comment کردن یک خط مورد استفاده قرار میگیرد در نتیجه شما میتوانید از دستور زیر برای هدف بالا استفاده کنید.
اگر خطوطی داشتیم که به غیر از کاراکترهای # یا ; با Space یا Tab آغاز شده باشند میتوانیم از دستور زیر استفاده کنیم که در خروجی فاصله یا خط های خالی را نیز حذف میکند.
در مثال بالا با استفاده از آپشن -v میتوان خطوطی را که با شرط ما برابر نیستند نمایش دهیم. مثلا به جای نمایش خط هایی که مطابق با شرط هستند خط های دیگر را نمایش دهند. در حقیقت معنی شرط را معکوس میکند و در پترن زیر آپشن ها به شرح زیر میباشد.
توضیحات آپشن ها :
^$ = حذف فضاهای خالی را فعال میسازد.
^[[:space:]]*# or ^[[:space:]]*; = فعالسازی تطبیق با خطوطی که با # یا ; یا spaces/tabs آغاز میشوند.
| = استفاده از چندین آپشن را فعال میسازد.
همچنین میتوانید از طریق مقالات زیر درباره دستور grep بیشتر بدانید.
دستور grep در لینوکس به همراه 12 مثال عملی
11 دستور پیشرفته grep در لینوکس
تفاوت بین دستور egrep و fgrep با grep چیست؟
در صورتیکه این مقاله مفید واقع شده لطفا آنرا با دیگران به اشتراک بگذارید. همچنین فراموش نکنید نظرات ارزشمند خود را با ما به اشتراک بگذارید.
همچنین توصیه میشود مطالعه کنید :
دستور ccat برای نمایش رنگی خروجی دستور cat
شما میتوانید از دستور grep برای این هدف استفاده کنید. دستور زیر امکان مشاهده تنظیمات جاری برای فایل کانفیگ PHP 7.3 بدون هیچ comment را فراهم می آورد. این دستور خط هایی را که با semicolon (;) آغاز شده است را حذف خواهد کرد.
دقت کنید که با توجه به اینکه (;) یکی از کاراکترهای خاص شل میباشد نیاز دارید که برای تغییر معنی آن از کاراکتر \ قبل از ; استفاده کنید.
کد PHP:
$ grep ^[^\;] /etc/php/7.3/cli/php.ini
در اکثر فایل های کانفیگ کاراکتر # برای comment کردن یک خط مورد استفاده قرار میگیرد در نتیجه شما میتوانید از دستور زیر برای هدف بالا استفاده کنید.
کد PHP:
$ grep ^[^#] /etc/postfix/main.cf
کد PHP:
$ egrep -v "^$|^[[:space:]]*;" /etc/php/7.3/cli/php.ini
OR
$ egrep -v "^$|^[[:space:]]*#" /etc/postfix/main.cf
در مثال بالا با استفاده از آپشن -v میتوان خطوطی را که با شرط ما برابر نیستند نمایش دهیم. مثلا به جای نمایش خط هایی که مطابق با شرط هستند خط های دیگر را نمایش دهند. در حقیقت معنی شرط را معکوس میکند و در پترن زیر آپشن ها به شرح زیر میباشد.
کد PHP:
“^$|^[[:space:]]*#”:
توضیحات آپشن ها :
^$ = حذف فضاهای خالی را فعال میسازد.
^[[:space:]]*# or ^[[:space:]]*; = فعالسازی تطبیق با خطوطی که با # یا ; یا spaces/tabs آغاز میشوند.
| = استفاده از چندین آپشن را فعال میسازد.
همچنین میتوانید از طریق مقالات زیر درباره دستور grep بیشتر بدانید.
دستور grep در لینوکس به همراه 12 مثال عملی
11 دستور پیشرفته grep در لینوکس
تفاوت بین دستور egrep و fgrep با grep چیست؟
در صورتیکه این مقاله مفید واقع شده لطفا آنرا با دیگران به اشتراک بگذارید. همچنین فراموش نکنید نظرات ارزشمند خود را با ما به اشتراک بگذارید.
کامنت