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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید




نویسنده موضوع: یک سوال در مورد function & awk  (دفعات بازدید: 553 بار)

0 کاربر و 8 مهمان درحال مشاهده موضوع.

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
یک سوال در مورد function & awk
« : 20 بهمن 1400، 12:56 ب‌ظ »
به تازگی دارم نوشتن فانکشن رو یاد میگیرم در بش ، اما یه سوال برام پیش اومده …

pr() { chmod u="$1" "$2" ; }

اینجا میخوام به جای $2 بگم از ارگومان دوم تا اخر اما با روش زیر که نشد !

pr() { chmod u="$1" "$2-$NF" ; }

چجوری اینکارو بکنم ؟

و اینکه به awk چجوری بگم همینو ؟

ls -AgGhX --group-directories-first --color=always "$@" | tail +2 | awk '{print $1,$3,$7}' | column -t

در اینجا هم میخوام به awk بگم که از بخش هفتم تا اخرین همشون !

با روش پایین هم نشد !

ls -AgGhX --group-directories-first --color=always "$@" | tail +2 | awk '{print $1,$3,$7-$NF}' | column -t

اینجا چیکار کنم ؟
« آخرین ویرایش: 20 بهمن 1400، 02:17 ب‌ظ توسط / sudo rm -rf »
آرچ و گنوم!

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19688
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : یک سوال در مورد function & awk
« پاسخ #1 : 20 بهمن 1400، 03:44 ب‌ظ »
برای مورد نخست می‌تونی از این حالت استفاده کنی:
pr() { chmod u=$1 ${@: 2} ; }
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : یک سوال در مورد function & awk
« پاسخ #2 : 20 بهمن 1400، 03:47 ب‌ظ »
برای مورد نخست می‌تونی از این حالت استفاده کنی:
pr() { chmod u=$1 ${@: 2} ; }
میشه اگه زحمتی نیست ماهی گیری رو هم یادم بدین و فقط ماهی رو در اختیارم نزارین ؟ 😅
اینجا چیکار کردین حداقل بفهممش بعدا بتونم استفاده کنم جای دیگه
آرچ و گنوم!

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19688
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : یک سوال در مورد function & awk
« پاسخ #3 : 20 بهمن 1400، 03:49 ب‌ظ »
$@
یعنی همهٔ آرگومان‌ها.
${@: 2}
یعنی از آرکومان دوم به بعد.

برای تمرین، مقدار این رو حدس بزن:
${@: 0}
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : یک سوال در مورد function & awk
« پاسخ #4 : 20 بهمن 1400، 03:50 ب‌ظ »
$@
یعنی همهٔ آرگومان‌ها.
${@: 2}
یعنی از آرکومان دوم به بعد.
جالب بود ! در awk کار نمیکنه ؟
آرچ و گنوم!

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : یک سوال در مورد function & awk
« پاسخ #5 : 20 بهمن 1400، 03:51 ب‌ظ »
نقل‌قول
برای تمرین، مقدار این رو حدس بزن:

😅

فک کنم فرقی ندارن ! بازم همون همه آرگومان ها هست معنیش ؟
آرچ و گنوم!

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19688
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : یک سوال در مورد function & awk
« پاسخ #6 : 20 بهمن 1400، 04:04 ب‌ظ »
نه. امتحانش کن.
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : یک سوال در مورد function & awk
« پاسخ #7 : 20 بهمن 1400، 04:12 ب‌ظ »
نه. امتحانش کن.
کار نمیده روی این فانکشن ! چون اونی که برای $1 میدم رو هم به عنوان فایلی که میخوام دسترسیشو تغییر بدم میشناسه ! ولی خب فایلی با اسم rwx وجود نداره که !
ولی قبلی مشکلمو حل کرد ، اما واقعا روشی برای awk نمیشناسین ؟
« آخرین ویرایش: 20 بهمن 1400، 04:26 ب‌ظ توسط / sudo rm -rf »
آرچ و گنوم!

آفلاین سودو.

  • High Hero Member
  • *
  • ارسال: 3095
  • جنسیت : پسر
  • :(){ :|:& };:
پاسخ : یک سوال در مورد function & awk
« پاسخ #8 : 21 بهمن 1400، 07:28 ب‌ظ »
چیشد جناب بهزادی ؟

( کسی برای awk ایده ای نداره ؟ )
آرچ و گنوم!

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5125
  • جنسیت : پسر
پاسخ : یک سوال در مورد function & awk
« پاسخ #9 : 27 بهمن 1400، 09:40 ب‌ظ »
نه. امتحانش کن.
کار نمیده روی این فانکشن ! چون اونی که برای $1 میدم رو هم به عنوان فایلی که میخوام دسترسیشو تغییر بدم میشناسه ! ولی خب فایلی با اسم rwx وجود نداره که !
ولی قبلی مشکلمو حل کرد ، اما واقعا روشی برای awk نمیشناسین ؟
$0 میشه چیزی که برنامه با اون اجرا شده. مثلا توی یه اسکریپت، این رو امتحان کنید echo $0
می‌تونید یه لینک به اسکریپت ایجاد کنید و بعد از طریق اون لینک، اسکریپت رو اجرا کنید. بعد ببینید echo $0 توی اسکریپت چی میگه.

( کسی برای awk ایده ای نداره ؟ )
اینجا یه آموزشی درباره awk هست. شاید کمکتون که.
میدونید که زکات علم نشر آن است