Faydalı Komutlar Arşivi

From GMT Türkiye Wiki
(Sürümler arası farklar)
Jump to: navigation, search
22. satır: 22. satır:
 
<bash>awk '  { print $2/1.2 , ($3+5.4)/2 , $4^2 , log($1)}' a.dat</bash>
 
<bash>awk '  { print $2/1.2 , ($3+5.4)/2 , $4^2 , log($1)}' a.dat</bash>
  
 +
* Dışarıdan parametre girişi -v değişkeni ile yapılabilir.
 +
<bash> @ sayi = 3
 +
awk -v par=$sayi ' NR>3 && NR<8 {print NR,"::",$4,log($4),"Sayi:",$4*par  }' deprem.dat </bash>
 +
 +
* IF şartı ile seçim yapılabilir.
 +
<bash> awk '  { if ($4==6.5 ||  $4==5.5 )  print NR,"::",$4,$5  }' deprem.dat </bash>
 +
 +
 +
== CUT / PASTE ==
 +
''CUT'' ile dosya icindeki istenilen kolonlari alınabilir. ''CUT'' programıyla veri kolonlarınının daha esnek ayrılması için ''-d'' parametesi kullanılır.
 +
''PASTE'' ile iki ve ya daha fazla dosya yan yana yapıştırılabilir. Aşağıdaki örnekte a.dat dosyası içindeki herbir satır aralarındaki ''-'' karakteri kullanılarak ayrılır ve bunlardan 2. kısımda (''-f2'') kalan değerler bir dosyaya yazilir. Aynı şekilde b.dat dosyasıda parçalanır ve 3. kolon değerleri yazılır. Diske yazılan bu iki dosyanın satırları ''PASTE'' programıyla yan yana gelecek şekilde yeni bir dosyaya yazılır.
 +
 +
<bash>cut -d"-" -f2 a.dat  > secme1.dat
 +
cut -d"-" -f3 b.dat  > secme2.dat
 +
paste secme1.dat secme2.dat > secme.dat </bash>
  
 
== CAT ==
 
== CAT ==

Sayfanın 08:51, 5 Nisan 2009 tarihindeki hali

Konu başlıkları

AWK

C tabanlı bir program olan awk basitleştirilmiş bir programla dili olarak görülebilir. Komut satırından veya script içinde çalışabilir. Burada çok temel bir kaç özelliği verilecektir. Daha fazla bilgiyi GNU sayfasından öğrenebilirsiniz.

Bazı Parametreler:

  • ' : awk komutları tırnak işaretleri arasında yazılır. En sonda ise işlenecek dosya adı bulunur.
  • $: Veri dosyasındaki kolonları (değişken olarak) temsil eder. HErhangi bir değişiklik yapılmaz ise kolonlar boşluklarla ayrılmış kabul edilir. $0: Tüm satır, $1: Satırın 1. kolonu, $2, Satırın 2. kolonu.
  • NR: O anda işlenen satırın numarası

Örnekler:

  • 200 satırlık bir veri dosyasında her 5 satırda bir veri okur
awk '{for(i=1; i<200;i=i+5) if (NR==i )print $0}' afarveldata_geo.dat > afarveldata2_geo.dat 
  • Sadece 2, 3 ve 4. kolonlarını almak: $ ile kolon numarası belirtilir. virgül kullanılmaz ise kolonlardaki değerler birbirlerine yapışırlar.
awk '{ print $2,$3,$4}' a.dat 
  • İlk 5 satırı atarak atarak:
awk ' NR>5  { print $2,$3,$4,$1}' a.dat 
  • Matematik işlem (birçok matematik işlemi yapılabilir):
awk '  { print $2/1.2 , ($3+5.4)/2 , $4^2 , log($1)}' a.dat
  • Dışarıdan parametre girişi -v değişkeni ile yapılabilir.
 @ sayi = 3
awk -v par=$sayi ' NR>3 && NR<8 {print NR,"::",$4,log($4),"Sayi:",$4*par  }' deprem.dat 
  • IF şartı ile seçim yapılabilir.
 awk '  { if ($4==6.5 ||  $4==5.5 )  print NR,"::",$4,$5  }' deprem.dat 


CUT / PASTE

CUT ile dosya icindeki istenilen kolonlari alınabilir. CUT programıyla veri kolonlarınının daha esnek ayrılması için -d parametesi kullanılır. PASTE ile iki ve ya daha fazla dosya yan yana yapıştırılabilir. Aşağıdaki örnekte a.dat dosyası içindeki herbir satır aralarındaki - karakteri kullanılarak ayrılır ve bunlardan 2. kısımda (-f2) kalan değerler bir dosyaya yazilir. Aynı şekilde b.dat dosyasıda parçalanır ve 3. kolon değerleri yazılır. Diske yazılan bu iki dosyanın satırları PASTE programıyla yan yana gelecek şekilde yeni bir dosyaya yazılır.

cut -d"-" -f2 a.dat  > secme1.dat
cut -d"-" -f3 b.dat  > secme2.dat
paste secme1.dat secme2.dat > secme.dat 

CAT

Özellikle ascii dosyaları birleştirmek için kullanılır.

Örnekler:

a.dat ve b.dat aynı formatta iki dosya ise buları c.dat olarak birleştirmek için

cat a.dat b.dat > c.dat 


GREP

Bir karakter dizisini dosyalar içinde arar ve uygun olan satırları gösterir.

Örnekler:

"nokta" kelimesini a.dat içinde nerde olduğunu bulmak için

grep -e nokta a.dat

* Bu bilgilerin bir kısmı GMTtr sitesinden alınmıştır.

Personal tools