Hiç tekrarlanan satırlar ve yinelenen kelimeler içeren metin dosyalarıyla karşılaştınız mı? Belki düzenli olarak komut çıktısıyla çalışıyorsunuz ve bunları farklı dizeler için filtrelemek istiyorsunuz. Linux'ta metin dosyaları ve gereksiz verilerin kaldırılması söz konusu olduğunda, uniq komutu en iyi seçeneğinizdir.
Bu makalede, bir metin dosyasından yinelenen satırları kaldırmak için komutun nasıl kullanılacağına ilişkin ayrıntılı bir kılavuzla birlikte uniq komutunu derinlemesine tartışacağız.
uniq Komutu Nedir?
Linux'taki uniq komutu, bir metin dosyasında aynı satırları görüntülemek için kullanılır. Bir metin dosyasından yinelenen sözcükleri veya dizeleri kaldırmak istiyorsanız bu komut yardımcı olabilir. uniq komutu, gereksiz kopyaları bulmak için bitişik satırlarla eşleştiğinden, yalnızca sıralanmış metin dosyalarıyla çalışır.
Neyse ki, boru çeşit metin dosyasını komutla uyumlu bir şekilde düzenlemek için uniq ile komut verin. uniq komutu, tekrarlanan satırları görüntülemenin yanı sıra, bir metin dosyasında yinelenen satırların oluşumunu da sayabilir.
uniq Komutu Nasıl Kullanılır
uniq ile kullanabileceğiniz çeşitli seçenekler ve bayraklar bulunmaktadır. Bazıları temeldir ve tekrarlanan satırları yazdırma gibi basit işlemleri gerçekleştirirken, diğerleri Linux'ta sık sık metin dosyalarıyla çalışan ileri düzey kullanıcılar içindir.
Temel Sözdizimi
uniq komutunun temel sözdizimi şöyledir:
uniq option input output
...nerede seçenek komutun belirli yöntemlerini çağırmak için kullanılan bayraktır, giriş işlenecek metin dosyasıdır ve çıktı çıktıyı depolayacak dosyanın yoludur.
NS çıktı argüman isteğe bağlıdır ve atlanabilir. Bir kullanıcı girdi dosyasını belirtmezse, uniq girdi olarak standart çıktıdan veri alır. Bu, bir kullanıcının uniq ile bağlantı kurmasını sağlar diğer Linux komutları .
Örnek Metin Dosyası
Metin dosyasını kullanacağız kopya.txt komutun girişi olarak.
127.0.0.1 TCP
127.0.0.1 UDP
Do catch this
DO CATCH THIS
Don't match this
Don't catch this
This is a text file.
This is a text file.
THIS IS A TEXT FILE.
Unique lines are really rare.
Bu metin dosyasını zaten kullanarak sıraladığımızı unutmayın. çeşit emretmek. Başka bir metin dosyasıyla çalışıyorsanız, aşağıdaki komutu kullanarak onu sıralayabilirsiniz:
sort filename.txt > sorted.txt
Yinelenen Satırları Kaldır
uniq'in en temel kullanımı, girişten tekrarlanan dizeleri kaldırmak ve benzersiz çıktı yazdırmaktır.
uniq duplicate.txt
Çıktı:
Sistemin satırın ikinci oluşumunu göstermediğine dikkat edin. Bu bir metin dosyasıdır . Ayrıca, yukarıda belirtilen komut dosyadaki yalnızca benzersiz satırları yazdırır ve orijinal metin dosyasının içeriğini etkilemez.
Tekrarlanan Satırları Say
Bir metin dosyasında tekrarlanan satırların çıktısını almak için şunu kullanın: -C varsayılan komutla bayrak.
uniq -c duplicate.txt
Çıktı:
Sistem, metin dosyasında bulunan her satırın sayısını görüntüler. çizgi olduğunu görebilirsin Bu bir metin dosyasıdır dosyada iki kez oluşur. Varsayılan olarak, uniq komutu büyük/küçük harf duyarlıdır.
Yalnızca Tekrarlanan Satırları Yazdır
Metin dosyasından yalnızca yinelenen satırları yazdırmak için, -NS bayrak. NS -NS anlamına gelir Çiftleme .
uniq -D duplicate.txt
Sistem çıktıyı aşağıdaki gibi gösterecektir.
This is a text file.
This is a text file.
Kopyaları Denetlerken Alanları Atla
Dizeleri eşleştirirken belirli sayıda alanı atlamak istiyorsanız, -F komutuyla işaretleyin. NS -F anlamına gelir Alan .
Aşağıdaki metin dosyasını göz önünde bulundurun alanlar.txt .
192.168.0.1 TCP
127.0.0.1 TCP
354.231.1.1 TCP
Linux FS
Windows FS
macOS FS
İlk alanı atlamak için:
uniq -f 1 fields.txt
Çıktı:
192.168.0.1 TCP
Linux FS
Yukarıda bahsedilen komut, ilk alanı (IP adresleri ve işletim sistemi adları) atladı ve ikinci kelimeyi (TCP ve FS) eşleştirdi. Ardından, çıktı olarak her eşleşmenin ilk oluşumunu gösterdi.
Karşılaştırma Yaparken Karakterleri Yoksay
Alanları atlamak gibi, karakterleri de atlayabilirsiniz. NS -s flag, yinelenen satırları eşleştirirken atlanacak karakter sayısını belirlemenizi sağlar. Bu özellik, üzerinde çalıştığınız veriler aşağıdaki gibi bir liste biçiminde olduğunda yardımcı olur:
disney+ yardım merkezi hata kodu 83
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth
Dosyadaki ilk iki karakteri (liste numaraları) yok saymak için liste.txt :
uniq -s 2 list.txt
Çıktı:
Yukarıdaki çıktıda, ilk iki karakter yok sayıldı ve geri kalanı benzersiz satırlar için eşleştirildi.
Yinelenenler İçin İlk N Karakter Sayısını Kontrol Edin
NS -içinde flag, kopyalar için yalnızca sabit sayıda karakteri kontrol etmenizi sağlar. Örneğin:
uniq -w 2 duplicate.txt
Yukarıda belirtilen komut yalnızca ilk iki karakterle eşleşecek ve varsa benzersiz satırları yazdıracaktır.
Çıktı:
Büyük/küçük harf duyarlılığını kaldır
Yukarıda belirtildiği gibi, bir dosyadaki satırları eşleştirirken uniq büyük/küçük harfe duyarlıdır. Karakter durumunu yok saymak için -ben komutu ile seçin.
uniq -i duplicate.txt
Aşağıdaki çıktıyı göreceksiniz.
Yukarıdaki çıktıda dikkat edin, uniq satırları göstermedi BUNU YAKALAYIN ve BU BİR METİN DOSYASIDIR .
Çıktıyı Dosyaya Gönder
uniq komutunun çıktısını bir dosyaya göndermek için Çıkış Yönlendirme ( > ) aşağıdaki gibi karakter:
uniq -i duplicate.txt > otherfile.txt
Bir metin dosyasına çıktı gönderirken, sistem komutun çıktısını görüntülemez. kullanarak yeni dosyanın içeriğini kontrol edebilirsiniz. kedi emretmek.
cat otherfile.txt
için başka yollar da kullanabilirsiniz. Linux'ta bir dosyaya komut satırı çıktısı gönder .
uniq ile Yinelenen Verileri Analiz Etme
Çoğu zaman Linux sunucularını yönetirken ya terminal üzerinde çalışıyorsunuz ya da metin dosyalarını düzenliyorsunuz. Bu nedenle, bir metin dosyasındaki satırların gereksiz kopyalarının nasıl kaldırılacağını bilmek, Linux beceri setiniz için büyük bir varlık olabilir.
Bir dosyadaki metni nasıl filtreleyeceğinizi ve sıralayacağınızı bilmiyorsanız, metin dosyalarıyla çalışmak sinir bozucu olabilir. İşinizi kolaylaştırmak için Linux, aşağıdakiler gibi birkaç metin düzenleme komutuna sahiptir: sed ve awk bu, metin dosyaları ve komut satırı çıktılarıyla verimli bir şekilde çalışmanıza olanak tanır.
Paylaş Paylaş Cıvıldamak E-posta Bu 10 Sed Örneği Sizi Linux Uzmanı YapacakGüçlü bir Linux kullanıcısı olmak ister misiniz? sed ile başa çıkmak yardımcı olacaktır. Bu 10 sed örneğinden öğrenin.
Sonrakini Oku İlgili konular- Linux
- Linux
Deepesh, MUO'da Linux için Junior Editördür. Tüm yeni gelenlere keyifli bir deneyim sunmayı amaçlayan Linux hakkında bilgilendirici kılavuzlar yazıyor. Filmlerden emin değilim, ama teknoloji hakkında konuşmak istersen, o senin adamın. Boş zamanlarında onu kitap okurken, farklı müzik türleri dinlerken veya gitar çalarken bulabilirsiniz.
Deepesh Sharma'dan Daha FazlaHaber 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