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

کمک و پشتیبانی => انجمن عمومی => نویسنده: Milandini در 08 آبان 1394، 10:28 ق‌ظ

عنوان: {حل شد}عمل تقسیم بر روی اعداد در خط فرمان
ارسال شده توسط: Milandini در 08 آبان 1394، 10:28 ق‌ظ
سلام
من توی یک فایل n تا عدد صحیح دارم که به صورت لیست مرتب شدند.میخوام این اعداد رو به ترتیب هر کدومشون رو تقسیم بر یک عدد صحیح بکنم
.یعنی به عبارتی اون عملگر تقسیم ورودیش از یک فایل باشه
عنوان: پاسخ : عمل تقسیم بر روی اعداد در خط فرمان
ارسال شده توسط: احسان فعالپور در 08 آبان 1394، 11:09 ق‌ظ
دقیقا سوال شما رو جواب دادند اینجا:

http://unix.stackexchange.com/questions/92051/shell-scripting-to-divide-numbers-inside-a-file
عنوان: پاسخ : عمل تقسیم بر روی اعداد در خط فرمان
ارسال شده توسط: mahrooz در 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 و..).