- 
	
			
				
					July 15th, 2012, 09:02
				
			
			
				
					#1
				
				
				
			
	 
		
		
			
				
				
				
					 یک سوال از awk یک سوال از 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 پاسخ : یک سوال از awk
					
						
							
	کد: pr -m -t -s' '  a.txt  b.txt  | awk '{print $4,$7}'
 
 
 
 
 
 
 
 
- 
    
    
    
    
    
        
            تعداد تشکر ها از doomhammer65ir به دلیل پست مفید 
        
    
 
 
 
- 
	
			
				
					July 19th, 2012, 10:43
				
			
			
				
					#3
				
				
				
			
	 
		
		
			
				
				
				
					 پاسخ : یک سوال از awk پاسخ : یک سوال از 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 محلی است یعنی بیرون از 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 به دلیل پست مفید