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

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

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


توزیع گنو/لینوکس اوبونتو ۲۰ ساله شد 🎉

نویسنده موضوع: {حل شد}عمل تقسیم بر روی اعداد در خط فرمان  (دفعات بازدید: 520 بار)

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

آفلاین Milandini

  • Sr. Member
  • *
  • ارسال: 329
سلام
من توی یک فایل n تا عدد صحیح دارم که به صورت لیست مرتب شدند.میخوام این اعداد رو به ترتیب هر کدومشون رو تقسیم بر یک عدد صحیح بکنم
.یعنی به عبارتی اون عملگر تقسیم ورودیش از یک فایل باشه
« آخرین ویرایش: 08 آبان 1394، 12:54 ب‌ظ توسط Milandini »
یادداشت های یک روسونری
http://r-rajai.blog.ir/

آفلاین احسان فعالپور

  • Sr. Member
  • *
  • ارسال: 408
  • جنسیت : پسر
پاسخ : عمل تقسیم بر روی اعداد در خط فرمان
« پاسخ #1 : 08 آبان 1394، 11:09 ق‌ظ »
دقیقا سوال شما رو جواب دادند اینجا:

http://unix.stackexchange.com/questions/92051/shell-scripting-to-divide-numbers-inside-a-file
عضو ارشد فدراسیون بیکاران ایران FBI

آفلاین mahrooz

  • Newbie
  • *
  • ارسال: 14
پاسخ : عمل تقسیم بر روی اعداد در خط فرمان
« پاسخ #2 : 08 آبان 1394، 11:56 ق‌ظ »
سلام
برای این کا ر می‌توانید از این اسکریپت استفاده کنید.
#!/bin/bash
if [ $# -lt 2 ]
then
echo "usage: $0 filename number"
exit 1
fi
#----------------#
while read line
do
        let "num = $line / $2"
        echo $num
done < $1
exit
توضیح: اسکریپت از دو قسمت تشکیل گردیده است. چون اسکریپت به دو شناسه (نام فایل و عدد صحیح برای تقسیم) نیاز دارد بخش اول کنترل وجود دو شناسه را به عهده دارد ( البته می‌توانید آن را توسعه بدهید و کنترل وجود فایل و عدد صحیح بودن شناسه دوم را نیز اضافه نمایید.).
بخش دوم، کار مورد نظر شما را انجام می‌دهد. این قسمت از یک حلقه تشکیل گردیده که در هر تکرار مقدار متغیر line را (که به واسطه  ‎< $1‎ از یک سطر فایل شما می‌خواند) به عدد صحیح تعیین شده تقسیم می‌کند و نمایش می‌دهد.
اگر مایل باشید می‌توانید با استفاده از تغییر مسیر نتیجه را به یک فایل هدایت نمایید.
Scriptname source_filename number > target_filenameالبته در آدرس ارایه شده دوستمون هم به طور متنوع‌تری به مطلب اشاره گردیده است (با استفاده از برنامه‌های خارج از پوسته مانند bc و awk و..).