Linux tabanlı işletim sistemleri, günlük rutininizde kullanabileceğiniz birçok komut satırı metin işleme aracı sunar. Cut komutu, bir düz dosya veritabanından veya bir satırdan gerekli bir dizeyi almak için sınırlayıcıları, baytları, alanları ve sütunları kullanan böyle bir metin işleme aracıdır.
Düz dosya veritabanı yapısal bir ilişkiye sahip olmadığından ve kayıtlar sınırlayıcılar yardımıyla ayrıldığından, cut, karakter veya bayt bilgi ayıklamak için ideal bir araçtır. Bu makale, kesme komutunu ayrıntılı olarak tartışır ve aracı kullanmaya başlamanız için farklı filtre seçenekleriyle bazı pratik örnekler gösterir.
Kes Komutuna Genel Bakış
cut aşağıdaki temel sözdizimini kullanır:
kesmek
Ayrıca aşağıdaki gibi diğer komutlarla da aktarabilirsiniz:
yankı “string_of_characters” | kesmek
Lütfen herhangi bir seçeneğin olmamasının bir hata oluşturduğunu unutmayın. Çeşitli işlevlerini çağırmak için cut ile kullanabileceğiniz bazı bayraklar şunlardır:
Seçenek | Açıklama |
---|---|
-B | Bayt konumuna göre keser |
-C | Karakter pozisyonuna göre keser |
-D | (-f) alan seçeneğiyle belirtilen sınırlayıcıyı kullanarak dizeyi ayıklar |
-F | Belirtilen bir alana göre alıntılar |
-s | Yalnızca sınırlayıcılar için alıntılar |
--Tamamlayıcı | Belirttiğiniz alan dışında çıktıyı yazdırın |
--çıktı-sınırlayıcı | Mevcut sınırlayıcıyı belirttiğiniz sınırlayıcıyla değiştirin |
İşte aracı ve işlevlerini daha iyi anlamanıza yardımcı olacak bazı kesme komutu örnekleri.
1. Bir Dizeden Belirli Karakterleri Çıkarma
Kullan -B karakter dizilerini bayt sayılarına göre getirme seçeneği aşağıdaki gibidir:
echo "Merhaba Dünya" | kesme -b 1,2,3,5,8,9
Çıktı:
Heloor
Bir dize yerine bir dosya yolu da belirtebilirsiniz:
cut -b 1,2,3,4,5 dosyaadı.txt
Veya karakterleri metindeki konumlarına göre ayıklayabilirsiniz. Kullan -C seçeneği ve ardından getirmeniz gereken karakterlerin sırası/sırası aşağıdaki gibidir:
echo "Merhaba Dünya" | kesim -c 1,2,3,5,6,8,10,11
Çıktı:
selam eski
Benzer şekilde, düz dosya veri tabanından alanlar veya sütunlar getirmek için cut komutunu aşağıdaki komutla birlikte kullanın. -F bayrak seçeneği:
cut -f 3 veritabanı.txt
2. Bayt veya Karakter Aralığını Kes
Ayrıca -B birden çok bayt aralığını çıkarmak ve yazdırmak için cut komutuyla aşağıdaki gibi işaretleyin:
cut -b 1-7,16-23 veritabanı.txt
kullanarak karakterlerin getirileceği aralığı tanımlayabilirsiniz. -C aşağıdaki gibi bayrak:
cut -c 1-7,16-23 veritabanı.txt
3. Başlangıç veya Bitiş Konumlarından Metin Çıkarma
Kullan -cn- n. karakterden satırın sonuna kadar metin çıkarma seçeneği, burada n dizedeki bir karakterin dizinidir.
Örneğin, altıncı karakterden satırın sonuna kadar olan dizeyi çıkarmak için:
-c6- database.txt'yi kes
Veya baştan sona kadar getirmek için aşağıdaki komutu kullanın m dosyadan karakterler:
-c-8 database.txt'yi kes
4. Bir Dosyadan Birden Çok Alanı Kes
kullanarak bir dosyadan birden çok alan yazdırabilirsiniz. -F bayrak.
cut -f 1,2 veritabanı.txt
Çıktı:
İSİM YAŞ
Jhon 20
lisa 24
kriko 18
bruce 23
19
5. Sınırlayıcıları Kullanarak Metni Çıkarma
kullanabilirsiniz -D sınırlayıcıyı belirtmek için bayrak -F seçenek. Sınırlayıcı, bir metin dosyasındaki alanları ayırmak için kullanılan karakteri belirtir.
Örneğin, ilk sütunu çıkarmak için /etc/passwd dosyasında, sınırlayıcı olarak iki nokta üst üste (:) kullanın:
cut -d ':' -f 1 /etc/passwd
Benzer şekilde, verilen metin akışındaki sınırlayıcı değer tek bir boşluktur:
echo "%1'in %1'i" | kes -d ' ' -f 2,3
Çıktı:
%1'i
6. Ekran için Çıktı Sınırlayıcısını Değiştir
bu --çıktı-sınırlayıcı flag, kesme komutu çıktısına esneklik katar. Örneğin, çıktıyı kullanarak ayrı bir satırda görüntülemek için bayrağı kullanabilirsiniz. $'\n' (yeni satır) değeri, aşağıdaki gibi:
grep alice /etc/passwd | cut -d ':' -f 1,5,7 --output-delimiter=$'\n'
Çıktı:
alice
Alice
/bin/sh
Ayrıca, bir girdi dosyasının sınırlayıcısını, çıktıda seçtiğiniz sınırlayıcı ile değiştirebilirsiniz. --çıktı-sınırlayıcı bayrak:
grep kökü /etc/passwd | cut -d ':' -f 1,6,7 --output-delimiter=@
Çıktı:
root@/root@/bin/bash
nm-openvpn@/var/lib/openvpn/chroot@/usr/sbin/nologin
7. Alanları Yalnızca Bir Çizgi Ayırıcı İçerdiğinde Kes
Kullan -s yalnızca satırlar bir sınırlayıcı içerdiğinde alanları çıkarmak için bayrak. Örneğin, aşağıdaki komut alanı getirmeyecek -f1 boşluk sınırlayıcısı olmadığı sürece:
yankı "MerhabaDünya" | kes -d " " -f 1 -s
Aksine, aşağıda belirtilen komut, dize belirtilen sınırlayıcıyı içerdiğinden bir çıktı üretecektir:
echo "Merhaba Dünya" | kes -d " " -f 1 -s
Çıktı:
Merhaba
Benzer şekilde, sınırlayıcı olarak başka herhangi bir karakteri de kullanabilirsiniz:
echo "Merhaba: Dünya" | kes -d ":" -f 2 -s
Çıktı:
Dünya
8. Komut Çıktısını Tamamlayın
Cut yardımcı programı, belirtilen alan dışındaki tüm alanları yazdırmanıza da olanak tanır. Kullan --Tamamlayıcı Beşinci sütun dışında kök kullanıcı hesabının tüm ayrıntılarını getirmek için aşağıdaki gibi bir seçenek:
grep "root" /etc/passwd | cut -d ':' --tamamlayıcı -s -f 5
Çıktı:
kök: x: 0:0:/root:/bin/bash
Benzer şekilde, aşağıdaki örnekte, -f1 parametre görüntülenmelidir Merhaba metin, ancak, --Tamamlayıcı seçeneği, yalnızca geri kalanını yazdırır.
echo "Tüm Dünyaya Merhaba" | cut -d " " -f 1 --tamamlayıcı
Çıktı:
tüm dünyaya
En iyi yanı, cut komutunu diğer Linux/Unix komutlarının standart çıktısıyla birleştirebilmenizdir.
sed metninizi silmek, eklemek ve değiştirmek için kullanabileceğiniz böyle bir metin düzenleme aracıdır. Çıktısını kolayca cut komutuna aktarabilirsiniz.
Aşağıdaki örnekte, grep komutu çıktı, iki nokta üst üste (:) yerine kısa çizgi (-) koyan sed yardımcı programına yönlendirilir ve ardından cut 1, 6 ve 7 alanlarını aşağıdaki gibi görüntüler:
grep alice /etc/passwd | sed 's/:/-/g' | kes -d ' ' -f 1,5,7
Çıktı:
alice-x-1005-1008-Alice-/home/yeni/alice-/bin/sh
Cut Kullanarak Linux'ta Metinle Çalışmak
cut komutu, metin işlemenin çeşitli kullanım durumlarında kullanabileceğiniz esnek ve verimli bir komut satırı yardımcı programıdır. Dosyalardan veya standart girdi verilerinden metni filtrelemek için işlemleri kullanır. Yardımcı programın ayrıca, kullanıcıların görüntülemek istedikleri metni sınırlamalarına ve kendi seçtikleri sınırlayıcıları eklemelerine olanak tanıyan bir avantajı vardır.
Ancak, bu komutun da bazı sınırlamaları vardır. Sınırlayıcı belirtmek için normal ifadeler veya eşzamanlı çoklu kesme komutu seçenekleri kullanamazsınız. Bu makale, yeni başlayanların Linux'ta metin işleme komutlarını net bir şekilde anlamalarına yardımcı olmak için bu yardımcı programın temelden ileri düzeye pratik örneklerini içermektedir.
Linux oyununuzu geliştirmek ve metin manipülasyonu hakkında daha fazla bilgi edinmek ister misiniz? İşte yolculuğunuza başlamak için en iyi beş Linux komut satırı aracı.
Sonrakini Oku
- Linux
- Linux Komutları
- Linux İlkokulu
- Linux Bash Kabuğu
Rumaisa, MUO'da serbest yazar. Bir Matematikçiden Bilgi Güvenliği meraklısına kadar pek çok şapka taktı ve şu anda bir SOC Analisti olarak çalışıyor. İlgi alanları arasında yeni teknolojiler, Linux dağıtımları ve Bilgi Güvenliği ile ilgili her şey hakkında okuma ve yazma yer almaktadır.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın