انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => انجمن عمومی => نویسنده: abdossamad2003 در 03 اسفند 1399، 12:01 ب‌ظ

عنوان: درباره دستور awk
ارسال شده توسط: abdossamad2003 در 03 اسفند 1399، 12:01 ب‌ظ
با سلام خدمت دوستان
من یک اسکریپت رو دارم مطالعه می کنم که با csh نوشته شده است. میشه بگید این کد دستوری چه کاری انجام میده

setenv TYPE `echo $cwd | awk -F"_" '{print $NF}'`
عنوان: پاسخ : درباره دستور awk
ارسال شده توسط: Dragon- در 03 اسفند 1399، 12:42 ب‌ظ
دستور setenv توی csh یه متغیر محیطی ایجاد میکنه. و باید به این شکل استفاده بشه.
setenv VARIABLENAME VALUEکه اولی اسم متغیر هست و دومی مقدارش.

echo رو می‌دونید چی کار میکنه. داره میگه متغیر cwd رو بخون و | هم میگه خروجی رو بده به دستور بعد.

awk یه دستور برای کار با متن‌ها.
چیزی که جلوی awk نوشته شده میگه که _ رو جدا کننده‌ی قسمت‌ها به حساب بیار و آخرین قسمت متنی که داده شده را نمایش بده. $NF یعنی آخرین قسمت و print هم که واضحه.

پس کاری که این می‌کنه اینه که اول میگه یه متغیر به اسم TYPE درست کن و برای مقدارش اول متغیر cwd رو بخون و بعد بده به awk و awk هم _ رو به عنوان جدا کننده قسمت‌ها در نظر میگیره و آخرین قسمت رو بر‌می‌گردونه، که این آخرین قسمت به عنوان مقدار داخل متغیر  TYPE ذخیره میشه.