Dosyadan yinelenen satırları kaldırın

En çok kullanılan, popüler veya kullanıcılar tarafından en sık kullanılan şifrelerin bir sözlüğünü yapıyorum (… Neden diye sorma… HAHAHA), bunun için diğer sözlüklerden vb. metin alıyorum, ancak kendimi birçok yinelenen parolanın olduğu durumda buluyorum ve yinelenen satırları ortadan kaldırmam gerekiyor.

Yani, örneğin ... aşağıdaki dosyamız var: pass.txt

Ve içeriği:

asdasd
Lola
Aşk
asdasd
pencereler
Gizem
linux
asdasd
Aşk

 Gördüğümüz gibi, tekrarladık «Aşk»Y«asdasd«, Son 3 kez. Yinelenen satırlar nasıl kaldırılır?

Bunu yapmak, bu komutla basittir:

cat pass.txt | sort | uniq > pass-listos.txt

Bu adında bir dosya oluşturacak pass-ready.txt içerecek:

Gizem
asdasd
linux
Lola
Aşk
pencereler

Komutun yaptığı şey ÇOK basit ...

  1. kedi geçişi.txt - »Dosyanın içeriğini listeleyin.
  2. tür - »İçeriği alfabetik olarak sıralayın.
  3. tek - »Yinelenen satırları ortadan kaldırın.
  4. > pass-ready.txt - »Önceki komutların sonucu, bunu pass-ready.txt (var olmadığı için onu yaratacak)

Bu kadar basit ... Ben sadece komutun tür evet, çok güzel ... ama birlikte tekonlar bir sanat mücevheri 😀

Umarım yardımcı olmuşsundur.

selamlar

Duvar kağıdı: Duvar kağıdını indirmek istiyorsanız «#! / Bin / bash seviyorum"Bağlantı burada:

Duvar Kağıdını İndir

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   Carlos dijo

    Sort -u da kullanabilirsiniz.

    Blog için tebrikler, onu seviyorum!

    1.    KZKG ^ Gaara dijo

      Evet doğru.
      Hiçbir şey, yorum yaptığınız için çok teşekkür ederim 😀

      Hoş geldiniz 😉
      selamlar

  2.   Diego dijo

    Bununla ilgili sorun, kelimelerin sırasını değiştirmesidir, işe yarar ... ama sonuçta, sonuç sırasına göre orijinalinden çok farklıdır (belki de bazı durumlarda önemlidir)

    1.    KZKG ^ Gaara dijo

      Evet, gerçekten, bu sözcükleri alfabetik olarak sıralar, bu nedenle içeriğe varyasyonlar OLMADAN ihtiyaç duyulursa, bu çözüm ideal çözüm değildir.

    2.    Carlos dijo

      Etrafta dolaşmayın, ya sıralama komutunu koymamanız aklınıza gelirse? lütfen biraz daha düşünün ve her şeyi çiğnemeyin.

      kedi pass.txt | uniq> pass-ready.txt

      1.    Eliuber dijo

        işe yaramıyor, denedim

      2.    tahıl dijo

        çalışmıyor çünkü "tekrarlanan" satırların sürekli olması gerekiyor

  3.   isimsiz dijo

    teşekkürler

    oldukça kullanışlı

  4.   Giskard dijo

    Çok iyi! Basit ve net bir çözüm. Böyle şeyleri severim 🙂
    Python'da bir şeyler yapacağımı itiraf etmeliyim ama bu çözüm iyi.

    1.    KZKG ^ Gaara dijo

      teşekkürler ^ - ^

  5.   tino dijo

    Merhaba! çok iyi!
    Bir sorum var lütfen
    benim için aşağıdaki örnek için işe yarar:
    ABCD1111
    DEFG 2222 45455
    ABCD1111
    DEFG2222

    Satırlar aynı ama boşluklar ve daha fazla karakter var ... Bu aynı kelimeyi kontrol ediyor mu? veya satırla? Açıklarım?
    şu andan itibaren çok teşekkür ederim.
    Sarılmak

    1.    KZKG ^ Gaara dijo

      Merhaba böyle,
      Gördüğüm gibi, bu sütunları değil satırları karşılaştırıyor, bu yüzden bana verdiğiniz örnekte bu, hemen hemen aynı olmalarına rağmen 1. satırı veya 3., 2. ve 4. satırı kaldıracaktır,% 100 özdeş değildirler bir fark sütununa sahip. 😉

      ^ - ^ yorumunuz için teşekkürler

      1.    TINE dijo

        Sayende!! daha önce oracle'ın kopyaları ortadan kaldırması bir saat sürdü ... şimdi kedi sıralaması 30 saniye sürüyor !!

  6.   Mega Bedder dijo

    PHP: S'de gerekli

    1.    KZKG ^ Gaara dijo

      Uff ... Ben PHP'im, çok kısayım, gerçekten programcı değilim 🙁

      Özür dilerim.

    2.    Brunocascio dijo

      Php için, resmi PHP belgelerinde array_unique (…) vardır, birçok önemli ve verimli işlev bulacaksınız.

      Sıralama ile ilgili olarak, ihtiyacınız olmadıkça gerekli değildir ... Yürütme süresi ve bellek boşa harcanır. (gönderide ne yapıldığı için)

      Selamlar!

  7.   Geek dijo

    Vay !! kaba kuvvet olarak kullanılacak bir sözlük !! XD

  8.   Gustavo dijo

    Uniq ile sıralama kombinasyonu çok iyi! Yinelenen satırları kaldırmam çok yardımcı oldu.

    teşekkürler

  9.   Gustavo dijo

    Carlos'un yorumu, küstahlığına rağmen geçerli değil. Kullanmak için diyor:

    kedi pass.txt | uniq> pass-ready.txt

    ancak uniq'in ön koşulu, dosyanın sıralanmasıdır. Bunu biraz daha düşünmeli veya önceden bilgilendirmeliydin.

  10.   Eliuber dijo

    çok iyi, bash'ımı çalıştırırken bana çok zaman kazandırdın

  11.   Çakmaktaşı dijo

    awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
    bu sayede siparişe gerek kalmadan hatlar ortadan kalkar.

  12.   Miniminiyo dijo

    Katkı için çok teşekkür ederim!

    Sırasını değiştirmeden onu benzersiz kılmak harika olsa da, ama hey, kolay ve kullanışlı bir komut!

  13.   Felipe Gutierrez dijo

    Teşekkür ederim, bana çok yardımcı oldu 😉

  14.   ernesto dijo

    bu bende var
    C000006158880201502051056088364 C00-06158880
    C000007601673201503051056088364 C00-07601673
    C000008659304201504051056088364 C00-08659304
    T 0809074070562015120818144287185REAÑO RUBIÑOS EMILIA DORIS
    T 0809092979972016010818144287185REAÑO RUBIÑOS EMILIA DORIS
    C000005398451201501231044214375 C00-05398451
    C000007674996201503051000000286 C00-07674996
    C000008514288201504051000000463 C00-08514288
    C000011613498201506051056088070 C00-11613498

    Bir dosyada yalnızca abone başına yinelenenleri boyayıp yinelenmeyenleri başka bir dosyada bırakmasını nasıl sağlayabilirim?

    abone pozisyon 23'te (10 pozisyon)

  15.   Fernando dijo

    sort -u -k 1,1 Dosya.txt> sonuç.txt

    Bu, dosyayı ilk alana göre sıralar

  16.   Ben diego dijo

    2020 ve hala hizmet veriyor, çok teşekkür ederim!

  17.   sarah dijo

    Dosya metnini Linux veya Windows'a mı bağladınız? Cũng như trường hợp của bạn, khi tôi tạo file từ điển vì tôi chia nội dung ra nên Có khá nhiều dosyası và chắc chắn con nhiều dòng Cữp trgi dosyası. Ví dụ: Dosya 1 của tôi co 5 dòng, file 2 co 15 dòng (co 2 dòng trùng lặp với Dosya 1. Tôi muốn co kết quả, Dosya 1 vẫn giữ nguyên 5 dòng, Dosya 2 thì sadece 2 dòng dosya .
    Dosya metninizi giriniz. Daha fazla bilgi için, Windows'tan, Windows'tan, Windows'tan, Windows'tan. 🙂 Hy vọng nhận được phản hồi từ bạn!