Linux 'sort' Komutunun 14 Faydalı Örneği - Bölüm 1
'Sort' komutu, giriş metin dosyalarının satırlarını yazdırmak ve tüm dosyaları sıralı düzende birleştirmek için kullanılan bir Linux programıdır. Sıralama komutu, alan ayırıcı olarak boş alanı ve sıralama anahtarı olarak giriş dosyasının tamamını alır. Sıralama komutunun aslında dosyaları sıralamadığını, yalnızca siz çıktıyı yeniden yönlendirene kadar sıralanan çıktıyı yazdırdığını fark etmek önemlidir.
Bu makale, Linux'ta sort komutunu nasıl kullanacağınızı gösteren 14 kullanışlı pratik örnekle Linux 'sort' komutuna ilişkin derinlemesine bir fikir vermeyi amaçlamaktadır.
1. Belirtilen İçerikle Metin Dosyası Oluşturma
Öncelikle bu görev için çalışma dizinimizde 'sort' komut örneklerini yürütmek için kullanılacak 'tecmint.txt' adında bir metin dosyası oluşturacağız. /home/$USER/Desktop/tecmint'.
Aşağıdaki komuttaki '-e
' seçeneği ters eğik çizginin yorumlanmasını sağlar ve /n
, echo komutuna her dizeyi yeni bir satıra yazmasını söyler.
echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt
2. Dosya İçeriğini Görüntüleyin
‘sort’ komutuna başlamadan önce aşağıdaki cat komutunu kullanarak dosyanın içeriğine ve nasıl göründüğüne bir göz atalım.
cat tecmint.txt
3. Dosya İçeriğini Sıralama
“sort tecmint.txt” komutu, dosyadaki satırları artan alfabetik sıraya göre yeniden düzenlemek için kullanılır, eğer yinelenen satırlar varsa, her benzersiz satırın bir kopyasını saklar.
sort tecmint.txt
Not: Yukarıdaki komut, metin dosyasının içeriğini sıralamaz, yalnızca terminalde sıralanan çıktıyı görüntüler.
4. Sıralanmış Çıktıyı Yeni Dosyaya Yönlendirme
Aşağıdaki komut, “tecmint.txt” metin dosyasının satırlarını alfabetik sıraya göre sıralamak için kullanılır ve ardından sıralanan çıktıyı “sorted.txt adlı yeni bir dosyaya yeniden yönlendirir. “, bu, orijinal dosyanın değişmeden kaldığı ve sıralanan içeriğin ayrı bir dosyada saklandığı anlamına gelir.
İçeriği doğrulamak için cat komutunu kullanın.
sort tecmint.txt > sorted.txt
cat sorted.txt
5. Dosya İçeriklerini Ters Sırada Sıralama
Aşağıdaki komut, "tecmint.txt" metin dosyasının satırlarını ters sırada sıralamak için kullanılır; bu, satırları azalan alfabetik sıraya göre düzenleyeceği ve sıralanan çıktının daha sonra yeni bir konuma yönlendirileceği anlamına gelir. “reversesorted.txt” adlı dosya
sort -r tecmint.txt > reversesorted.txt
cat reversesorted.txt
6. Dosya ve Dizin Listesini Kaydetme
Aşağıdaki komut, ls komutunu kullanarak kullanıcının ana dizininin (“/home/$USER“) içeriğini ayrıntılı, uzun formatlı bir görünümde listelemek için kullanılır ve ardından bu dizin listesini şu adrese yönlendirir: kullanıcının masaüstünde, özellikle “tecmint” dizininde bulunan “lsl.txt” adlı bir metin dosyası.
ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
cat lsl.txt
Şimdi, içerikleri varsayılan başlangıç karakterleri dışındaki alanlara göre sıralama örneklerini inceleyeceğiz.
7. Dosya İçeriklerini İkinci Alana Göre Sıralama
“lsl.txt” dosyasının içeriğini her satırın ikinci alanındaki değerlere göre sıralamak için aşağıdaki komut kullanılır. '-n'
seçeneği, ikinci alanı metin yerine sayı olarak ele alan sayısal bir sıralamayı belirtir.
'-k2'
seçeneği ikinci alana göre sıralama yapmak istediğimizi belirtir. Bu komutu çalıştırarak, "lsl.txt" dosyasındaki satırların sıralanmış bir listesini elde edersiniz; sıralama kriteri, her satırın ikinci alanındaki sayısal değerlerdir.
sort -nk2 lsl.txt
8. Dosya İçeriğini Dokuzuncu Alana Göre Sıralama
“lsl.txt” dosyasındaki satırları, her satırın dokuzuncu alanındaki değerlere göre artan şekilde sıralamak için aşağıdaki komut kullanılır. '-k9'
seçeneği sıralamanın dokuzuncu alana göre yapılması gerektiğini belirtir.
sort -k9 lsl.txt
9. Dosyaları Dosya Boyutuna Göre Sıralayın
Aşağıdaki komut, kullanıcının ana dizininin içeriğini uzun bir liste formatında listelemek için 'ls' ve 'sort' komutlarını birleştirir ve ardından dizin listesini <'ye yönlendirir.'sort -nk5', listeyi dosya boyutlarını temsil eden beşinci sütundaki değerlere göre sıralar.
ls -l /home/$USER | sort -nk5
10. Dosyadaki Yinelenen Satırları Kaldırma
Aşağıdaki komut, “tecmint.txt” dosyasındaki satırları artan alfabetik sıraya göre sıralar ve “< anlamına gelen '-u'
seçeneğini kullanarak yinelenen satırları kaldırır. güçlü>benzersiz” ve sıralanan çıktıda benzersiz satırların korunmasını sağlar.
cat tecmint.txt
sort -u tecmint.txt
Şu ana kadar kurallar (gözlediklerimiz):
- Listede sayılarla başlayan satırlar tercih edilir ve aksi belirtilmedikçe (
-r
) en üstte yer alır. - Listede küçük harflerle başlayan satırlar tercih edilir ve aksi belirtilmedikçe (
-r
) en üstte yer alır. - İçerikler, aksi belirtilmedikçe (
-r
) sözlükteki alfabelerin oluşum durumuna göre listelenir. - Sırala komutu, varsayılan olarak her satırı bir dize olarak ele alır ve aksi belirtilmedikçe alfabelerin sözlükteki oluşumuna bağlı olarak sıralar (Sayısal tercih edilir; kural – 1'e bakın).
11. Dizin Listesini Dosyaya Yönlendirme
Aşağıdaki komut, gizli dosyalar ve dizinler de dahil olmak üzere kullanıcının ana dizininin içeriğini uzun formatta listeler ve ardından dizin listesini, kullanıcının masaüstünde bulunan “lsla.txt” adlı bir metin dosyasına yönlendirir. “tecmint” dizini.
ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
cat lsla.txt
ls komutunu bilenler 'ls -lA'
'nin 'ls -l'
artı gizli dosyalara eşdeğer olduğunu anlayacaktır. Sonuç olarak bu iki komutun içeriğinin çoğunluğu aynı olacaktır.
12. Dosya İçeriklerini Sıralama
Aşağıdaki komut, 'lsl.txt' ve 'lsla.txt' adlı iki metin dosyasının içeriğini artan alfabetik sıraya göre sıralar ve ardından sıralanan içeriği birleştirir ve şu şekilde görüntüler: Durak.
sort lsl.txt lsla.txt
Dosya ve klasörlerin tekrarına dikkat edin.
13. Dosyadaki Yinelenen Satırları Kaldırma
Aşağıdaki komut, 'lsl.txt' ve 'lsla.txt' adlı iki metin dosyasının içeriğini artan alfabetik sıraya göre birleştirir ve sıralar ve aynı zamanda yinelenen satırları kaldırır. '-u'
seçeneği, sıralanan çıktıda benzersiz satırların korunmasını sağlar.
sort -u lsl.txt lsla.txt
Kopyaların çıktıdan çıkarıldığına dikkat edin. Ayrıca çıktıyı yeniden yönlendirerek yeni bir dosyaya kaydedebilirsiniz.
14. Özel Sınırlayıcı Kullanarak Çıktıyı Birden Çok Alana Göre Sıralama
Aşağıdaki komut, kullanıcının ana dizininin içeriğini uzun biçimde listelemek için 'ls' ve 'sort' komutlarını birleştirir ve ardından dizin listesini '<'ye yönlendirir. Çıktıyı belirli sütunlara ve alanlara göre sıralayan güçlü>sort' komutu.
ls -l /home/$USER | sort -t "," -nk2,5 -k9
İşte komutun bir dökümü:
-t ","
– alan sınırlayıcı olarak virgül(",")
kullanıldığını belirtir.-nk2,5
– genellikle izinleri ve sahiplik ayrıntılarını temsil eden 2 ila 5 arasındaki sütunlardaki sayısal değere göre sıralamayı belirtir.-k9
– sonucu, dosya boyutlarını temsil eden dokuzuncu sütuna göre daha fazla sıralar.
Şimdilik bu kadar. Bir sonraki yazımızda sizler için sort komutunun daha detaylı örneklerini inceleyeceğiz.
Lütfen paylaşmaya, yorum yapmaya, beğenmeye devam edin ve daha geniş bir kitleye ulaşmamıza yardımcı olun.