Örneklerle Linux’ta cut Komutu Nasıl Kullanılır

Merhabalar,

 

Linux ve Unix sistemlerinde metin dosyalarını işlemenize ve filtrelemenize izin veren birçok yardımcı program vardır. cut, belirtilen dosyalardan veya iletilen verilerden satır parçalarını kesmenize ve sonucu standart çıktıya yazdırmanıza olanak sağlayan bir komut satırı yardımcı programıdır. Sınırlayıcı, bayt konumu ve karaktere göre bir satırın parçalarını kesmek için kullanılabilir.

Bu yazıda, pratik örnekler ve en yaygın seçeneklerin ayrıntılı açıklamaları aracılığıyla cut komutunun nasıl kullanılacağını göstereceğiz.

cut Komutu Nasıl Kullanılır:

cut komutunun söz dizimi aşağıdaki gibidir:

cut OPTION... [FILE]...

Kesime bir sınırlayıcı, bayt konumu veya seçili bölümleri keserken karakter kullanıp kullanmayacağını söyleyen seçenekler satırlar aşağıdaki gibidir.

-f (–fields=LIST) – Bir alan, bir dizi alan veya bir alan aralığı belirterek seçin. Bu en yaygın kullanılan seçenektir.
-b (–bytes=LIST) – Bir bayt, bir bayt kümesi veya bir bayt aralığı belirterek seçin.
-c (–characters=LIST) – Bir karakter, bir dizi karakter veya bir karakter aralığı belirterek seçin.

Yukarıda listelenen seçeneklerden yalnızca birini kullanabilirsiniz.

 

Diğer seçenekler şunlardır:

-d (–sınırlayıcı) – Varsayılan “TAB” sınırlayıcısı yerine kullanılacak bir sınırlayıcı belirtin.
–complement – Seçimi tamamlar. Bu seçeneği kullanırken kesim, seçili olanlar dışındaki tüm baytları, karakterleri veya alanları görüntüler.
-s (–only-demited) – Kesim varsayılan olarak sınırlayıcı karakter içermeyen satırları yazdırır. Bu seçenek kullanıldığında, kesme, sınırlayıcı içermeyen satırları yazdırmaz.
–output-delimiter – Cut’ın varsayılan davranışı, çıktı sınırlayıcı olarak giriş sınırlayıcıyı kullanmaktır. Bu seçenek, farklı bir çıktı sınırlayıcı dizesi belirlemenizi sağlar.

cut komutu, sıfır veya daha fazla girdi DOSYA adını kabul edebilir. DOSYA belirtilmemişse veya DOSYA – olduğunda, kesim standart girdiden okuyacaktır.

-f, -b ve -c seçeneklerine iletilen LIST bağımsız değişkeni bir tam sayı, virgülle ayrılmış birden çok tam sayı, bir tam sayı aralığı veya virgülle ayrılmış birden çok tam sayı aralığı olabilir. Her aralık aşağıdakilerden biri olabilir

N. alan, bayt veya karakter, 1’den başlayarak.
N- Nth alanından, bayt veya karakterden satırın sonuna kadar.
N’den M’ye kadar alan, bayt veya karakter.
-M’den Mth alanına, bayt veya karaktere kadar.

 

Field aracılığı ile cut komutu nasıl kullanılır:

Kesilmesi gereken alanları belirtmek için komutu -f seçeneğiyle çağırın. Belirtilmediğinde, varsayılan sınırlayıcı “TAB”dır.

Aşağıdaki örneklerde aşağıdaki dosyayı kullanacağız. Alanlar sekmelerle ayrılmıştır.

ilk önce dosyamıza bakalım.

Şimdi ilk örneğimize bakalım.

-d seçeneği ile alanları ayırmak için kullanıcak parametreyi belirtiyoruz.Bizim örneğimizde alanları ayırmak için 1 boşluk karakteri kullanacağız. -f seçeneği ile hangi alanı keseceğimizi görüntüleceğiz.Bakınız aşağıda alan olarak 1 seçtik bu nedenle 1. bölümdeki metni  gösterecek.

cut -d " " -f 1 test.txt

 

 

Burada -f seçeneği 2 değeri ile çağrılmış.Bu nedenle sadece alan 2 gösterilecek.

cut -d " " -f 2 test.txt

 

 

Burada -f seçeneği 3 değeri ile çağrılmış.Bu nedenle sadece alan 3 gösterilecek.

cut -d " " -f 3 test.txt

 

 

örneklere devam edelim.Aşağıdaki komutla.1. ve 2. alanları görüntüleceğiz.

cut -d " " -f 1,2 test.txt

 

 

Aşağıdaki komutla.1. ve 2. ve 3. alanları görüntüleceğiz.

cut -d " " -f 1,2,3 test.txt

 

 

Aşağıdaki komutla.2. ve 3. alanları görüntüleceğiz.

cut -d " " -f 2,3 test.txt

 

 

Aşağıdaki komutla belirli bir aralıktaki alanları görüntüleyebiliriz.1-2 ve arasındaki dizinleri görüntüler.

cut -d " " -f 1-2 test.txt

 

 

Aşağıdaki komutla belirli bir aralıktaki alanları görüntüleyebiliriz.1-5 ve arasındaki dizinleri görüntüler.

cut -d " " -f 1-5 test.txt

 

 

Örneklere devam edelim.Aşağıda test3.txt dosyamıza bakalım.Burada alan ayırmak için ‘ : ‘ seçeneğini kullanalım.

 

örneklere devam edelim.

cut -d ":" -f 1  test3.txt

 

 

cut -d ":" -f 2 test3.txt

 

cut -d ":" -f 1-3 test3.txt

 

 

 

Seçim nasıl tamamlanır:

Seçim alanı listesini tamamlamak için –complement seçeneğini kullanın. Bu, yalnızca -f seçeneğiyle seçilmeyen alanları yazdıracaktır.

Şimdi söyle gösterelim.Dosyamız bu.

 

ilk önce seçimi gösterelim.aşağıdaki komutla 1-5 arasındaki bölümü gösteriyor.

cut -d " " -f 1-5 test.txt

 

 

Şimdi seçtiğimiz bölümden geri kalan kısmı görüntülüyoruz. –complement parametresi çağırdığımızda seçimin dışındaki bütün alanları gösterir.Burada dikkat edimesi gereken şey örnek veriyorum seçim 2-5 arasında olduğunda ilk önce 2 den önceki  bölümü gösterir sonrada 5 den sonraki bölümü gösterir.

cut -d " " -f 1-5 test.txt --complement

 

 

Bir çıktı delimiter (sınırlayıcı) nasıl belirlenir:

Çıktı sınırlayıcısını belirtmek için –output-delimiter seçeneğini kullanın. Örneğin, çıktı sınırlayıcısını _ olarak ayarlamak için aşağıdaki gibi kullanabiliriz.Bunu kullanmadan önce kontrol edelim.

 

Şimdi bölümler arasına istediğimiz karakteri eklemek için aşağıdaki komutu kullanacağız.

cut -d " " -f 1-5 test.txt --output-delimiter='_'

 

 

Baytlar ve Karakterler Aracılığı Kesme Nasıl Yapılır:

Daha ileri gitmeden önce, baytlar ve karakterler arasında bir ayrım yapalım.

Bir bayt 8 bittir ve 256 farklı değeri temsil edebilir. ASCII standardı oluşturulduğunda, İngilizce ile çalışmak için gerekli olan tüm harfleri, sayıları ve sembolleri dikkate almıştır. ASCII karakter tablosu 128 karaktere sahiptir ve her karakter bir bayt ile temsil edilir. Bilgisayarlar küresel olarak erişilebilir olmaya başladığında, teknoloji şirketleri farklı diller için yeni karakter kodlamaları sunmaya başladı. 256’dan fazla karaktere sahip diller için 1’e 1 basit bir eşleme mümkün değildi. Bu, belgeleri paylaşmak veya web sitelerine göz atmak gibi farklı sorunlara yol açar ve dünyanın birçok yazı sisteminin üstesinden gelebilecek yeni bir Unicode standardına ihtiyaç duyulur. UTF-8 bu sorunları çözmek için oluşturuldu. UTF-8’de tüm karakterler 1 bayt ile temsil edilmez. Karakterler 1 bayt ila 4 bayt arasında gösterilebilir.

-b (–bytes) seçeneği, komuta verilen bayt konumlarıyla belirtilen her satırdan bölümleri kesmesini söyler.Burada önemli olan bazı karakterler 2 bayttır ü ve ş gibi.

Aşağıdaki örneklerde 2 bayt alan ü karakterini kullanıyoruz.

 

Dosyamız bu.Şimdi Dosyanın içinde dördüncü karakter olan ‘ ş ‘ ` i gösterelim.

cut -b 4 test5.txt

Yukarıda  görüldüğü 4. karakter olan ‘ ş ‘ karakteri yazdırılmadı.Nedeni ‘ Ş ‘ karakteri 2 bayttır.Bu nedenle ekrana getirilemedi.Bu karakter 2 bayt olduğu için 4-5 karakterin yerindedir.Ekrana yazdırmak için aşağıdaki gibi kullanmalıyız.

cut -b 4-5 test5.txt

 

 

Kesim Örnekleri:

cut komutu genellikle pipe yoluyla diğer komutlarla birlikte kullanılır. İşte birkaç örnek yapalım.

Tüm kullanıcıların bir listesini görüntüleme:

getent passwd komutunun çıktısı, sınırlayıcı olarak ‘ : ‘ kullanılarak 1. alanı yazdıran cut öğesine iletilir.Hadi deneyelim.

getent passwd | cut -d ':' -f 1

 

En sık kullanılan 10 komutu görüntüleme:

Aşağıdaki örnekte, geçmiş komut çıktısının her satırından ilk 8 baytı çıkarmak için cut kullanılır.

history | cut -c8- | sort | uniq -c | sort -rn | head

 

 

Bu eğitim yazımızın sonuna geldik.Umarım sizler için faydası olur.

 

 

 

Bu eğiticiye oy ver
[Total: 3 Average: 4.7]
Firat CANOĞLU TAĞ