Faydalı Komutlar Arşivi

From GMT Türkiye Wiki
Jump to: navigation, search

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 
  • .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 

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 


COLRM

Dosya içinde istenilen kolonları siler

colrm 3 5 <  a.txt


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 


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 


HEAD

Dosyanın istenilen miktardaki ilk satirlarini ekrana doker

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


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


MORE

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

more +6 a.txt  #ilk 6 satir gosterilmez 


NL

Satırları numaralandırır.

nl a.txt


SED

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

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


SORT

Sıralama yapar.

sort a.txt


SPLIT

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

split -l 50 a.txt  X


TAIL

Dosyanın istenilen miktardaki son satirlarini ekrana doker

tail -6 a.txt     # son 6 satir gosterilir 


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