"Enter"a basıp içeriğe geçin

Linux uniq Commute – Linux İpucu

“Benzersiz” nedir? Seçilen girişteki yinelenen metni işaretleyen veya kaldıran harika bir komut satırı aracıdır. GNU çekirdek yazılımının bir parçasıdır ve dolayısıyla her UNIX/Linux sisteminde mevcuttur. “uniq” ile başlayalım!

Temel “uniq” komut sözdizimi şöyle görünür.

Sadece<Seçenekler><kayıt olmak><Üretmek>

Örneğin, “Duplicate.txt” içeriğine bakalım. Tabii ki, bu makalenin amacı için birçok yinelenen metin içeriği içeriyor.

Belli ki yinelenen içerik var, değil mi? Onları “uniq” üzerinden çalıştıralım.

kedi kopyalamak |Çeşit|Sadece

Çıktı, yalnızca benzersiz değerlerle çok daha iyi görünüyor, değil mi?

Ancak, işi bitirmek için boru yöntemini kullanmanıza gerek yoktur. “uniq” doğrudan dosyalar üzerinde de çalışabilir.

Sadece<Seçenekler><dosya adı>

Yinelenen içeriği sil

Evet, ‘uniq’in varsayılan davranışı, yinelenen içeriği girişten silmek ve yalnızca ilk olayı tutmaktır. Bu yinelenen silme işleminin yalnızca “uniq” eşzamanlı kopyalar bulduğunda gerçekleştiğine dikkat edin.

Bu örneği kontrol edelim. Yinelenen öğeler içeren başka bir “Duplicate1.txt” dosyası oluşturdum. Ama yan yana değiller.

Şimdi bu çıktıyı ‘uniq’ ile filtreleyin.

Tüm yinelenen içerik orada! Bu nedenle, bunun gibi bir şeyle çalışıyorsanız, tüm içeriğin sıralandığından ve kopyaların birbiriyle bitişik olduğundan emin olmak için içeriği “sıralama” yoluyla yönlendirin.

Artık “uniq” işini normal şekilde yapacak.

kedi kopya1.txt |Çeşit|Sadece

yineleme sayısı

Dilerseniz içerikte bir satırın kaç kez tekrarlanacağını kontrol edebilirsiniz. Sadece “uniq” ile “-c” bayrağını kullanın.

kedi kopya.txt |Çeşit|Sadece-c

Not: “uniq” kopyaları silme şeklindeki olağan işlevini yerine getirecektir.

Yinelenen satırları yazdır

Çoğu zaman kopyalardan kurtulmak isteriz, değil mi? Bu sefer neyin kopyalandığını kontrol etmeye ne dersiniz?

Evet, “uniq” bunu da yapabilir. Bu durumda “-D” seçeneğini kullanmalısınız. Daha iyi ve daha doğru bir sonuç elde etmek için aralarında “sırala” kullanacağım.

kedi kopya.txt |Çeşit|Sadece-NS

Şahane! Bu çok fazla kopya! Ancak, tüm yinelemeler birlikte gruplandırılır, bu da gezinmeyi zorlaştırır. Araya biraz boşluk eklemeye ne dersiniz?

Sadece– her tekrar=<yöntem>

Burada 3 farklı mod mevcuttur: yok (varsayılan değer), önce ve bölünmüş.

kedi kopya.txt |Çeşit|Sadece– her tekrar= önce

kedi kopya.txt |Çeşit|Sadece– her tekrar= ayrı

Şimdi, daha iyi görünüyor.

Benzersizlik kontrolünü atla

Çoğu durumda, benzersizlik satırın farklı bir bölümü tarafından kontrol edilmelidir.

Bunu bir örnekle anlayalım. Duplicate1.txt dosyasında, kopyanın ikinci kısım tarafından belirlendiğini varsayalım. Bunu “uniq” e nasıl söylersin? Genellikle ilk alanı kontrol eder (varsayılan olarak). Bunu da yapabiliriz. İşi yapmak için sadece bu “-f” bayrağı var.

Sadece-F<sayı_of_fields_to_skip><dosya adı>
kedi kopya1.txt |Çeşit-K2|Sadece-F1

“Sort” bayrağı ile merak ediyorsanız, “sort” diyerek ikinci sütuna göre sıralama yapmalısınız.

Tüm satırları göster, ancak kopyaları ayır

Yukarıdaki tüm örneklere göre, “uniq” kopyalanan içeriğin yalnızca ilk geçtiği yeri tutar ve geri kalanını kaldırır. Yinelenen içeriği tamamen kaldırmaya ne dersiniz? Evet, ‘-u’ bayrağını kullanarak ‘uniq’i yalnızca tekrarlanmayan satırları tutmaya zorlayabiliriz.

kedi kopya.txt |Çeşit|Sadece-u

Eh, birçok kopya şimdi gitti …

Baş harfleri atla

Uniq’e işini başka alanlarda yapmasını nasıl söyleyeceğimizi tartıştık, değil mi? Bazı ilk karakterlerden sonra, kontrol etmeye başlamanın zamanı geldi. Bu amaçla karakter sayısı ile birlikte ‘-s’ ‘uniq’e işi yapmasını söyleyecektir.

kedi kopya1.txt |Çeşit-K2|Sadece-s2

“uniq”in işini sadece ikinci alanda yapacağı örneğe benzer. Bu hile ile başka bir örnek görelim.

kedi kopya.txt |Çeşit|Sadece-s5

Yalnızca baş harfleri kontrol edin

Tıpkı ilk birkaç karakteri atlamak için “uniq” dediğimiz gibi, kontrolü sadece ilk çift karakterle sınırlamak için “uniq” demek mümkündür. Bunun için özel bir “-w” bayrağı vardır.

kedi kopya.txt |Çeşit|Sadece-w5

Bu komut “uniq” e ilk beş karakter içinde benzersiz olup olmadığını kontrol etmesini söyler.

Bunun başka bir örneğini görelim.

kedi kopya1.txt |Çeşit|Sadece-w5

Diğer “yinelenen” girişlerin tüm örneklerini siler ve ayrıca “yinelenen” bölümünde benzersiz olup olmadığını kontrol eder.

büyük küçük harf duyarlılığı

Benzersizliği kontrol ederken ‘uniq’ aynı zamanda büyük/küçük harf durumunu da kontrol eder. Bazı durumlarda büyük/küçük harf duyarlılığı önemli değildir, bu nedenle “-i” işaretini “uniq” büyük/küçük harf duyarsız yapmak için kullanabiliriz.

Burada size demo dosyasını sunuyorum.

Büyük ve küçük harflerin karışımıyla gerçekten zekice bir kopya, değil mi? Dağınıklığı gidermek için “uniq”in gücünü kullanma zamanı!

kedi kopya1.txt |Çeşit|SadeceKahve

İstek yerine getirildi!

NULL çıkışı sonlandırıldı

“uniq” öğesinin varsayılan davranışı, çıktıyı yeni bir satırla sonlandırmaktır. Ancak çıktı NULL ile de sonlandırılabilir. Komut dosyası oluşturmak için kullanacaksanız bu çok kullanışlıdır. Burada “-z” bayrağı ne işe yarıyor.

kedi kopya.txt |Çeşit|Sadece-z

Birden fazla bayrağı birleştirin

Bir dizi “benzersiz” bayrak öğrendik, değil mi? Bunları gruplandırmaya ne dersiniz?

Örneğin, büyük/küçük harf duyarlılığını sıklık sayımı ile birleştiriyorum.

Birden çok bayrağı bir arada kullanmayı planlıyorsanız, önce birlikte doğru şekilde çalıştıklarından emin olun. Bazen işler olması gerektiği gibi gitmez.

Son düşünceler

“uniq”, Linux tarafından sunulan benzersiz bir araçtır. Pek çok güçlü özellikle birlikte, birçok yönden yararlı olabilir. Tüm bayrakların bir listesi ve açıklaması için “uniq” adresindeki man ve bilgi sayfalarına bakın.

Zevk almak!

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir