Xóa duplicate từ 2 file text lớn

Discussion in 'Hỏi Đáp Kỹ Thuật' started by Trí Mén, Nov 16, 2017.

  1. Trí Mén

    Trí Mén Moderator Staff Member

    Ví dụ e có 2 file txt A và B, mỗi file chứa vài M từ khóa.
    Giờ em muốn xóa những từ khóa trùng với file B ở trên file A.
    Nghĩa là lấy file B làm chuẩn, những keyword nào ở file A và trùng với kw trong file B thì sẽ bị xóa ở file A.
    Mọi người chỉ giúp e cách nào nhanh nhất với :D
     
  2. money

    money Hương Chủ

    AndyTools có chức năng này
     
  3. Hoa Mãn Lâu

    Hoa Mãn Lâu Trưởng Môn

    Xài excel dc ko thím?
     
  4. Nai

    Nai MiddleMan Staff Member

    1 câu hỏi nhưng cần phải trả lời 2 câu:
    Có bao nhiêu cách
    Và cách nào nhanh nhất =))
    Em thì dùng excel như cụ @Hoa Mãn Lâu thôi
     
  5. money

    money Hương Chủ

    Mấy M rows dùng Excel bằng niềm tin hả 2 pé kia?
     
    wpresources likes this.
  6. Nai

    Nai MiddleMan Staff Member

    Thì chia ra mà chơi chứ anh. Lâu lâu mới có 1 con hàng ngon thì chia ra mà ăn chứ ăn 1 lúc thế kia sao mà trọn voẹn được =))
     
  7. Trí Mén

    Trí Mén Moderator Staff Member

    Excel thì vãi cả nản. Excen hình như limit 1M mỗi sheet thôi. mỗi file lên chục M thì phải chập bao nhiêu lần mới bảo đảm 100% ko duplicates.
    Em có cái tool Dupli Find làm rất ok, nhưng load file nặng quá nó ko làm dc.
    @money share e code đi a :((
     
  8. Nai

    Nai MiddleMan Staff Member

    Đã là code check duplicate để xóa thì phải 100% chứ anh, sao có vụ xóa nhầm được, trừ khi code ko đúng hết mọi trường hợp mà anh chưa nghĩ tới.
    Nếu excel mà ngại vài triệu thì em chỉ ngại khi key word chuẩn (B) nó vượt quá 1 triệu thôi :D
    Chứ 1 triệu B vs 100 triệu A thì cũng chỉ chạy lệnh 100 lần thôi mà.
     
  9. money

    money Hương Chủ

    Theo yêu cầu của thớt mà dùng cách chia nhỏ ra rồi filter thì làm mệt phết đấy, nghĩ kỹ lại mà xem. Chưa kể Excel thì .... kaka

    Code có gì đâu em. Dùng c# mới nhanh chứ php đọc file to mệt lắm. Đọc hết 2 file vào 2 list rồi duyệt và xử lý thôi.
     
    Trí Mén likes this.
  10. Trí Mén

    Trí Mén Moderator Staff Member

    anh Andy đã giải thích rồi đó, nghĩ thêm đi :))

    bỏ 2 list vào 2 array rồi cho nó foreach check từng kw hay sao a ?
     
  11. money

    money Hương Chủ

    List cũng foreach dc mà. Dùng list nó sort và nhiều chức năng khác nữa.
    Nếu lười code thì dùng luôn sql cũng dc. 1 table có field keyword, isA, isB với keyword là unique. Insert hết 2 file A và B vào rồi select ra thằng nào có isA = 1 isB = 0 hay tiêu chí nào đó tuỳ em. Viết trên phone lười viết dài nhưng chắc em hiểu :D
     
  12. gu gồ

    gu gồ Administrator Staff Member

    Dùng cmd xử lý file txt
     
  13. money

    money Hương Chủ

    Có lí. Ko hiểu sao linux xử lý txt nhanh vãi đạn. Mỗi tội anh ngu linux nên chịu, xài windows cho lành :D
     
  14. Trí Mén

    Trí Mén Moderator Staff Member

    chắc e get về rồi đưa vào database xử lý luôn cho tiện :D
    Thakn bác, mới tìm ra luôn https://stackoverflow.com/questions/4366533/remove-lines-from-file-which-appear-in-another-file
     
  15. gu gồ

    gu gồ Administrator Staff Member

    Cmd xử lý txt win xài cũng đc mà anh, mấy cái dụ này toàn cụ chuyên phím cho em mà ^^
     
  16. Gà Quay

    Gà Quay Bang Chúng

    Import 2 file đó vào SQL Server ra 2 table A và B xong dùng query để delete những record bên A mà có tồn tại bên B, xong, làm giàu thật sự đéo khó mà!
     
  17. JanKim

    JanKim Tân Thủ Thôn

    đc nhưng mình thấy chậm hơn linux nhiều
     
    money likes this.
  18. money

    money Hương Chủ

    Xử trên win thì anh code còn nhanh hơn
     
  19. automan

    automan Hương Chủ

    C# performance nhanh hơn PHP nhiều không bác @money ơi {bye}

    hồi đi học thì C,C++, Java, Prolog, Ocaml,

    đi làm chỉ mỗi php, biết chút js .

    Lười chẳng tìm hiểu thêm gì nữa {ah}

    Vì suy nghĩ cho cùng cái gì tiện và quen thì xài, hệ thống cung không lớn đến mức phải tối ưu từng ngôn ngữ cho các chức năng riêng .{cheers}

    Mà lâu lâu rãnh cũng khoái mày mò thêm vài cái lặt vặt {lmao}
     
  20. money

    money Hương Chủ

    @automan riêng trong trường hợp này thì c# (desktop application) nhanh hơn nhiều
     
    automan likes this.