Tôi đang tạo từ điển các mật khẩu được sử dụng nhiều nhất, mật khẩu phổ biến hoặc được người dùng sử dụng thường xuyên nhất (… Đừng hỏi tại sao… HAHAHA), vì điều này, tôi đang lấy văn bản từ các từ điển khác, v.v. nhưng, tôi thấy mình đang ở trong tình huống có nhiều mật khẩu trùng lặp và tôi cần loại bỏ các dòng trùng lặp.
Đó là, ví dụ ... chúng tôi có tệp sau: Pass.txt.
Và nội dung của nó là:
asdasd
lola
yêu
asdasd
cửa sổ
quản trị viên
linux
asdasd
yêu
Như chúng ta thấy, chúng ta đã lặp lại «yêu"Y"asdasd«, 3 lần sau. Làm thế nào để loại bỏ các dòng trùng lặp?
Để làm điều đó rất đơn giản, với lệnh này:
cat pass.txt | sort | uniq > pass-listos.txt
Điều này sẽ tạo ra một tệp có tên pass-ready.txt sẽ chứa:
quản trị viên
asdasd
linux
lola
yêu
cửa sổ
Những gì lệnh thực hiện rất đơn giản ...
- mèo pass.txt - »Liệt kê nội dung của tệp.
- loại - »Sắp xếp nội dung theo thứ tự bảng chữ cái.
- độc nhất - »Loại bỏ các dòng trùng lặp.
- > pass-ready.txt - »Kết quả của các lệnh trước đó, hãy đưa nó vào tệp pass-ready.txt (mà, vì nó không tồn tại, sẽ tạo ra nó)
Thật đơn giản ... Tôi vừa phát hiện ra rằng lệnh loại vâng, nó rất tốt ... nhưng, cùng với độc nhất, họ là một viên ngọc của nghệ thuật 😀
Tôi hy vọng bạn đã được hữu ích.
Liên quan
Bạn cũng có thể sử dụng sắp xếp -u.
Xin chúc mừng blog, tôi yêu nó!
Đúng vậy.
Không có gì, cảm ơn bạn rất nhiều đã bình luận 😀
Chào mừng 😉
Liên quan
Vấn đề với điều đó là nó thay đổi thứ tự của các từ, nó hoạt động ... nhưng cuối cùng kết quả khác rất nhiều so với bản gốc về thứ tự (có lẽ trong một số trường hợp quan trọng)
Đúng vậy, giải pháp này sắp xếp các từ theo thứ tự bảng chữ cái, vì vậy nếu nội dung cần thiết mà KHÔNG có biến thể, giải pháp này không phải là giải pháp lý tưởng.
Đừng vặn vẹo, điều gì sẽ xảy ra nếu bạn không đặt lệnh sắp xếp? xin vui lòng suy nghĩ nhiều hơn một chút và không có mọi thứ nhai lại.
cat pass.txt | uniq> pass-ready.txt
nó không hoạt động, tôi đã thử nó
không hoạt động vì các dòng "lặp lại" phải liên tục
cảm ơn
nó khá hữu ích
Rất tốt! Một giải pháp đơn giản và rõ ràng. Tôi thích những thứ như thế 🙂
Tôi phải thừa nhận rằng tôi đã làm điều gì đó bằng Python nhưng giải pháp này vẫn ổn.
Cảm ơn ^ - ^
Xin chào! rất tốt!
Tôi có một câu hỏi xin vui lòng
nó sẽ hoạt động cho tôi trong ví dụ sau:
Hình 1111.
DEFG 2222 45455
Hình 1111.
DEFG 2222
Các hàng giống nhau nhưng chúng có khoảng trắng và thêm một vài ký tự ... điều này có kiểm tra cùng một từ không? hoặc theo dòng? Tôi giải thích?
từ bây giờ, tôi cảm ơn bạn rất nhiều.
Một cái ôm
Chào bạn
Như tôi đã thấy, điều này so sánh các dòng và không phải cột, vì vậy trong ví dụ bạn cung cấp cho tôi, điều này sẽ loại bỏ dòng 1 hoặc dòng 3, 2 và 4, mặc dù chúng gần như giống nhau, chúng không giống nhau 100% vì chúng có một cột khác biệt. 😉
Cảm ơn đã nhận xét ^ - ^
Cảm ơn bạn !! trước khi oracle mất một giờ để loại bỏ các bản sao ... bây giờ phải mất 30 giây với phân loại mèo !!
Tôi yêu cầu nó bằng PHP: S
Uff ... Tôi là PHP, tôi rất, rất lùn, tôi không thực sự là một lập trình viên 🙁
Tôi xin lỗi.
Đối với php, có array_unique (…) trong tài liệu PHP chính thức, bạn sẽ tìm thấy nhiều hàm quan trọng và hiệu quả ..
Về phân loại, trừ khi bạn cần, không cần thiết ... Thời gian thực thi và bộ nhớ bị lãng phí. (cho những gì được thực hiện trong bài đăng)
Chúc mừng!
Chà !! một từ điển để sử dụng như vũ phu !! XD
Rất tốt khi kết hợp sắp xếp với uniq! Nó đã giúp tôi rất nhiều để loại bỏ các dòng trùng lặp.
Cảm ơn
Nhận xét của Carlos, bất chấp sự ngạo mạn của anh ta, không có giá trị. Anh ấy nói sử dụng:
cat pass.txt | uniq> pass-ready.txt
tuy nhiên điều kiện tiên quyết của uniq là tệp được sắp xếp thứ tự. Bạn nên nghĩ về nó nhiều hơn một chút hoặc thông báo cho bản thân trước đó.
rất tốt, bạn đã tiết kiệm cho tôi rất nhiều thời gian chạy bash của tôi
awk '! array_temp [$ 0] ++' pass.txt> pass-ready.txt
với điều này, các dòng được loại bỏ mà không cần phải đặt hàng.
Cảm ơn bạn rất nhiều vì sự đóng góp!
Mặc dù sẽ rất tuyệt nếu có thể biến nó thành duy nhất mà không thay đổi thứ tự, nhưng này, một lệnh dễ dàng và hữu ích!
Cảm ơn bạn, nó đã giúp tôi rất nhiều 😉
Tôi có cái này
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
Làm cách nào để nó chỉ vẽ các bản sao cho mỗi người đăng ký trong một tệp và để lại các bản sao không trùng lặp trong một tệp khác?
người đăng ký ở vị trí 23 (10 vị trí)
sort -u -k 1,1 File.txt> result.txt
Thao tác này sắp xếp tệp theo trường đầu tiên
2020 và vẫn còn phục vụ, cảm ơn bạn rất nhiều!
Bạn có thể cùng hướng dẫn loại bỏ sự lặp lại các dòng của nhiều tệp văn bản trong Linux hoặc Windows được không? Cũng giống như trường hợp của bạn, khi tôi tạo từ điển tệp vì tôi chia nội dung ra, Nên có khá nhiều tệp và chắc chắn có nhiều dòng trùng lặp giữa các tệp. Ví dụ: File 1 của tôi có 5 dòng, tệp 2 có 15 dòng (có 2 dòng trùng lặp với File 1. Tôi muốn có kết quả, File 1 vẫn giữ nguyên 5 dòng, File 2 thì chỉ bỏ 2 dòng giống như file 1 .
Như bạn biết có nhiều li do chúng ta không thể giảm bớt các tập tin đó lại với nhau, bởi vì những tập tin văn bản từ điển rất hay là nhiều ký hiệu, chẳng hạn như Rockyou. Thực tế, tôi muốn thực hiện điều này bên Windows hơn, và chắc chắn rằng họ không thể thực hiện được bên ngoài Windows. 🙂 Hy vọng nhận được phản hồi từ bạn!