Faydalı Komutlar Arşivi

From GMT Türkiye Wiki
(Sürümler arası farklar)
Jump to: navigation, search
(AWK)
K (Seocalismasi tarafından yapılan değişiklikler geri alınarak, AdminGMTTR tarafından değiştirilmiş önceki sürüm geri getirildi.)
 
(4 kullanıcı tarafından yapılan 5 ara revizyon gösterilmiyor)
37. satır: 37. satır:
 
* Satır sayısını bul
 
* Satır sayısını bul
 
<bash> awk 'END{print NR}' deprem.dat </bash>
 
<bash> awk 'END{print NR}' deprem.dat </bash>
 +
 +
*[[Diğer örnekler]]
  
 
== CAT ==
 
== CAT ==

19:03, 18 Eylül 2010 itibarı ile sayfanın şu anki hâli

Konu başlıkları

[değiştir] 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 
  • .txt ile biten bütün dosyaların içinde "ara" kelimesini "bul" ile değiştir.
 awk '{gsub("ara", "bul", $0); print > FILENAME}' *.txt 
  • Satırları sondan başa doğru yaz
 awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' deprem.dat 
  • Satır sayısını bul
 awk 'END{print NR}' deprem.dat 

[değiştir] 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 


[değiştir] COLRM

Dosya içinde istenilen kolonları siler

colrm 3 5 <  a.txt


[değiştir] 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 


[değiştir] DOS2UNIX / UNIX2DOS

dos2unix : ASCII dos formatını unix formatına dönüştürür. unix2dos : ASCII unix formatını dos formatına dönüştürür.

dos2unix dos.txt
unix2dos linux.txt 


[değiştir] HEAD

Dosyanın istenilen miktardaki ilk satirlarini ekrana doker

head -6 a.txt  #  ilk 6 satir gosterilir. 


[değiştir] 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


[değiştir] MORE

Dosya içeriğini istenilen kurallara göre ekrana döker

more +6 a.txt  #ilk 6 satir gosterilmez 


[değiştir] NL

Satırları numaralandırır.

nl a.txt


[değiştir] SED

Dosya içindeki karakterler üzerinde toplu yazım işlemi yapar.

sed -e 's/\./,/g' a.txt > b.txt 


[değiştir] SORT

Sıralama yapar.

sort a.txt


[değiştir] SPLIT

Dosyayı istenilen satır vb. için parçalara böler

split -l 50 a.txt  X


[değiştir] TAIL

Dosyanın istenilen miktardaki son satirlarini ekrana doker

tail -6 a.txt     # son 6 satir gosterilir 


[değiştir] WC

Dosya içinde satır/karakter/kelime sayılarını verir.

wc -l a.txt


* Bu bilgilerin bir kısmı GMTtr sitesinden ve Onur Tan GMT kurs dökümanlarından alınmıştır.

Personal tools