uniq ile Linux Metin Dosyasında Yinelenen Veriler Nasıl Bulunur

uniq ile Linux Metin Dosyasında Yinelenen Veriler Nasıl Bulunur

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.

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ı Yapacak

Güç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
Yazar hakkında Deepesh Sharma(79 Makale Yayımlandı)

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 Fazla

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