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.