17 Mayıs 2016 Salı

Linux join, paste, split, uniq, cut, sort komutları


Linux join, paste, split, uniq, cut, sort komutlarından bahsedeceğim.

Join : Dosya birleştirme işlemlerinde kullanılır. Parametresiz kullanılırsa ilk sutundaki ortak alanlara göre bize birleştirir.

Örnek : ornek8 ve ornek9 içerisindekileri ilk sütundaki ortak alanlara göre birleştireceğiz.


hakan eren # cat ornek8
2 mehmet
3 erdi
5 gazi
6 hasan
hakan eren # cat ornek9
1 hakan
2 ahmet
5 gazi
7 hasan
hakan eren # join ornek8 ornek9
2 mehmet ahmet
5 gazi gazi


join -1 2 -2 2 parametre vererek kullanırsak burada 1. dosyanın 2. sütununa, 2. dosyanın 2. sütunundaki ortak alanlara bakmasını belirtiyoruz.


paste : Dosya birleştirmek için kullanılan bir diğer komuttur. İki dosyayı satır satır birleştirilir.

hakan paste # cat dosya1
ahmet
linux
gazi
ali
hakan paste # cat dosya3
2
3
5
6
hakan paste # paste dosya1 dosya3
ahmet    2
linux    3
gazi    5
ali    6


paste -d parametresi ile kullanıldığında dosyaların satırların arasına bir ayrac eklemeye yarar. Kullanımı paste -d <ifade> şeklindedir.

Örnek : paste -d : kullandıgımızda dosyaların arasında : koyarak ayırır.

hakan paste # paste -d : dosya1 dosya3
ahmet:2
linux:3
gazi:5
ali:6


paste -s -d parametresi ile kullanıldığında dosyaları tek bir satır haline getirip ardından birleştirme işlemini gerçekleştirir.

Örnek : paste -s -d : dosya1 dosya3 şeklinde kullandığımızda aşağıdaki çıktıyı verecektir.

hakan paste # paste -s -d :  dosya1 dosya3 
ahmet:linux:gazi:ali
2:3:5:6


split : Dosyayı girilen bytelara gore ya da satır sayılarına gore boler.

Örnek : split -l 1 dosya1 şeklinde yazdığımızda dört satır oldugu için dörte bölüyor. xaa, xab, xac, xad şeklinde ve 2. satırda linux oldugu için kontrol etme amaçlı cat xab diyerek linux yazdığını görüyoruz.

hakan paste # cat dosya1
ahmet
linux
gazi
ali
hakan paste # split -l 1 dosya1
hakan paste # ls
dosya1  dosya2  dosya3  xaa  xab  xac  xad
hakan paste # cat xab
linux


split -b 1 dosya3 diye girdiğimizde dosya3 ü herbiri birer byte şeklinde böler.

hakan paste # split -b 1 dosya3
hakan paste # ls
dosya1  dosya3  xaa  xab  xac  xad  xae  xaf  xag  xah


split -b 2m dosya3 yaparsak her  biri 2m olan alt dosyalara böler.

uniq : Dosya içindeki tekrar eden satırları gizleyerek dosyasının içeriğini ekrana basar. i parametresi ile kullanıldığında büyük küçük harf uyumuna bakmaz.

Örnek : linux 3 kez tekrarlanmış uniq ile görmek istediğimizde bir kez bize gösterir.

hakan paste # cat dosya4
linux
linux
linux
centos
mint
hakan paste # uniq dosya4
linux
centos
mint



cut : Verilen parametrelere göre dosyaları görüntülemeye yarar.

cut -c 5,6 dosya4 şeklinde -c parametresi ile kullanırsak her satırdaki 5. ve 6. harfleri ekrana basar.
 
hakan paste # cut -c 5,6 dosya4
x
x
x
os



cut -d : -f 2 dosya4 şeklinde -d parametresi ile kullanıldığında parametreye göre sütunlara böler ve 2. sütunları alt alta ekrana basar.


hakan paste # cat dosya2
hakan:2
ahmet:4
linux:6
centos:98
hakan paste # cut -d : -f 2 dosya2
2
4
6
98


short : Dosya içerisindeki verileri sıralamak için kullanılır.

hakan paste # cat yenidosya 
2
6
3
9
1

hakan paste # cat yenidosya | sort

1
2
3
6
9


Şimdi hepsini ortak kullanarak bir uygulama yapacaz. İçerisinde isimlerin olduğu bir dosyada hangi ismin kaç defa geçtiğini en az tekrar edenden en çok tekrar edene kadar sıralayalım.

Komutunu kullanarak yaparız.
cat ornek | sort | uniq -c | sort -n


hakan paste # cat ornek
hakan
gazi
ahmet
linux
mint
metehan
hakan paste # cat ornek | sort | uniq -c | sort -n
      1 gazi
      1 hakan
      1 metehan
      1 mint
      2 ahmet
      3 linux


1 yorum:

  1. Top 10: The most popular types of aluminum oxide
    1) Ceramic Tile | Ceramic titanium auto sales Tiles | Ceramic Tile 1xbet · 2) Black Marble Tile · 3) Plastur + Brass Tile titanium dioxide formula · 4) Parchment Tile mens titanium wedding rings · 5) Tile Tile benjamin moore titanium

    YanıtlaSil