-
July 15th, 2012, 09:02
#1
یک سوال از awk
با سلام و احترام حضور دوستان عزیز
من می خوام یک ستون مثلا ستون 4 از یک فایل (a.txt) و ستون 7 از یک فایل دیگر مثلا (b.txt) را در فایل سوم c.txt که دو ستون دارد ( یکی از ستون 4 فایل a.txt و یکی از ستون 7 فایل b.ttx)
قرار دهم . آیا امکان دارد با awk این کار را انجام بدم؟
ممنون می شم راهنمایی کنید !
-
-
July 15th, 2012 09:02
# ADS
-
July 16th, 2012, 16:39
#2
پاسخ : یک سوال از awk
کد:
pr -m -t -s' ' a.txt b.txt | awk '{print $4,$7}'
-
تعداد تشکر ها از doomhammer65ir به دلیل پست مفید
-
July 19th, 2012, 10:43
#3
پاسخ : یک سوال از awk
با سلام و احترام و تشکر
با اجازه سوال بعدی را بپرسم
من از دستور زیر برای پیدا کردن 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 در خط بعدی برنامه استفاده کنم . ولی مقداری که برمیگرداند صفر است
ممنون می شم راهنمایی کنیید
-
-
July 19th, 2012, 15:37
#4
پاسخ : یک سوال از awk
به گمانم متغیرها اندر 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' خطهای تهی را پاک کنید
-
تعداد تشکر ها از doomhammer65ir به دلیل پست مفید