PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : یک سوال از awk



alireza-l
July 15th, 2012, 09:02
با سلام و احترام حضور دوستان عزیز
من می خوام یک ستون مثلا ستون 4 از یک فایل (a.txt) و ستون 7 از یک فایل دیگر مثلا (b.txt) را در فایل سوم c.txt که دو ستون دارد ( یکی از ستون 4 فایل a.txt و یکی از ستون 7 فایل b.ttx)
قرار دهم . آیا امکان دارد با awk این کار را انجام بدم؟
ممنون می شم راهنمایی کنید !

doomhammer65ir
July 16th, 2012, 16:39
pr -m -t -s' ' a.txt b.txt | awk '{print $4,$7}'

alireza-l
July 19th, 2012, 10:43
با سلام و احترام و تشکر
با اجازه سوال بعدی را بپرسم
من از دستور زیر برای پیدا کردن max , min یک ستون از یک فایل استفاده کردم .
awk ‘{if(min==”"){min=max=$1}; if($1>max) {max=$1}; if($1< min) {min=$1}; total+=$1; count+=1} END {print total/count, min, max}’ data.txt
مشکلم اینجاست که می خوام از مقدار min , max در خط بعدی برنامه استفاده کنم . ولی مقداری که برمیگرداند صفر است
ممنون می شم راهنمایی کنیید

doomhammer65ir
July 19th, 2012, 15:37
به گمانم متغیرها اندر awk محلی است یعنی بیرون از awk دسترسی ندارید بش :


sed '/^$/d' test.txt | awk 'BEGIN {min="9999999999";max="-99999999";sum=0;counter=0}; { if($1<min) min=$1; if($1>max) max=$1; sum+=$1 ;counter+=1;} END {print "\nMAX="max, "\nMIN="min, "\nSUM="sum ,"\naverage="sum/counter}' > temp_file
cat temp_file


awk به خطهای تهی حساس است . با فرمان sed '/^$/d' خطهای تهی را پاک کنید