50٪ تخفیف روی تمام دوره‌ها!
پایان تخفیف تا:
مشاهده دوره‌ها
0

دستور cut

یه سوال از بحث آموزش دستور cut  دارم. 

در دستور زیر وقتی جدا کننده " " هست چرا در سطر چهارم خروجی abc داریم؟ 

اگر جدا کننده " " باشد ستون 3 در سطر چهارم فقط space  هست. پس چرا خروجی abc  هست؟ 

 cut -d" " -f3 unity1.txt | cut -c2


محتوای فایل unity1.txt :

this is unity 1. 

this is only two line of text. 

farhad khanlari is english. 

abc



پرسیده شده در 1400/06/24 توسط

1 پاسخ

0

سلام، به مثال های زیر توجه کنید:


نمونه کارکرد دستور cut


دستور cut با پارامترهای جدا کننده -d به عنوان " " یا فاصله، از ستون اول تا ستون دهم رو خروجی گرفتیم.

مطابق تصویر، تمامی کلمات در جملات که با space از همدیگه جدا شدند، از ستون ۱ تا ستون ۱۰ نمایش داده شدند.

در تمامی خروجی ستون های مختلف در دستور cut ، کلمه abs ثابت هست


نمونه کارکرد دستور cut


با وجود این که کلمه abs رو به کلمه tosinso تغییر دادیم، باز هم در تمامی خروجی ها، مقدار tosinso ثابت است


نمونه کارکرد دستور cut


این بار به جای یک کلمه، جمله web site tosinso رو قرار دادیم که بین کلمات از space استفاده شده، در خروجی دیگه مقادیر تکراری چاپ نمیشه و space برای نمایش هر کلمه اعمال میشه.


نمونه کارکرد دستور cut


با توجه به این عکس میشه نتیجه گیری کرد که دستور cut بصورت پیشفرض کلمات رو در خروجی هایی که جدا کننده space باشه نمایش میده.

اگر مقادیر خروجی، درون هیچ جمله ای نباشه و قبل و بعد از اون فاصله نباشه، دستور cut اون رو به عنوان یک کلمه در نظر می گیره و در خروجی های خودش نمایش میده.


برای اطلاعات بیشتر و پارامترهایی که این عمل رو بصورت پیشفرض انجام نده و کلمات رو هم در خروجی ها حساب کنه، می تونید دستور زیر رو در ترمینال خودتون وارد کنید و راهنمای دستور cut و همینطور پارامترها و سوییچ های اون رو مطالعه کنید تا بتونید خروجی خودتون رو بهتر فیلتر کنید:

man cut
پاسخ در 1400/06/24 توسط

پاسخ شما