Giả sử tôi có một tệp văn bản với danh sách tên tệp đã xuất (ví dụ: các tệp đã được tạo cách đây quá lâu hoặc quá lớn). Danh sách này khá lớn (hơn 100 nghìn tệp).Tôi không có quyền truy cập hệ thống tệp trực tiếp vào các tệp (ví dụ: chúng nằm trong một cụm). Một danh sách mẫu sẽ là:
/cụm/đội-1/file001
/cụm/đội-1/file002
/cụm/đội-1/file003
/cluster/team-2/subteam-A/dump
/cluster/team-2/subteam-B/exportlist.txt
/cluster/team-3/2021/11/05/dump
/cluster/team-3/2021/11/04/dump
/cluster/team-3/2021/10/30/dump
/cluster/team-3/2021/09/30/dump
/cluster/team-4/project-foo/x
/ cụm/đội-4/dự án-foo/y
/cluster/team-4/project-foo/z
/cluster/team-4/project-bar/i
/cluster/team-4/project-bar/j
/cluster/team-4/project-bar/k
Tôi muốn tạo một danh sách các tiền tố tạo nhóm logic của các tệp đó. Dường như có một số cấu trúc trong cái cây đó, nhưng có lẽ không có gì có thể được tự động hóa một cách hợp lý. Từ mẫu trên, một nhóm sẽ là
/cụm/đội-1/*
/cluster/team-2/subteam-A/*
/cluster/team-2/subteam-B/*
/cụm/đội-3/*
/cluster/team-4/project-foo/*
/cluster/team-4/project-bar/*
Với danh sách các nhóm như vậy, sau đó tôi có thể giải quyết riêng từng nhóm (ví dụ: kiểm tra các tệp đó hoặc liên hệ với nhóm sở hữu các tệp đó)
Bạn sẽ sử dụng công cụ nào để tạo bản đồ như vậy?
Những gì tôi đã cố gắng cho đến nay:
- vim -- nó yêu cầu rất nhiều macro/tìm kiếm đặc biệt để xóa các tệp trong cùng một nhóm. Nó có thể hoàn thành công việc nhưng cảm giác không phải là công cụ phù hợp
- fzf -- fzf cho phép chọn nhiều tập tin/thư mục sẽ in ra thành đầu ra, có chức năng tìm kiếm mờ. Nó rất phù hợp nếu bạn đang tìm kiếm thứ gì đó, thay vì chọn nhóm
- củ cải -- là tuyệt vời để khám phá cấu trúc cây. Tuy nhiên, nó không cho phép đọc danh sách các mục từ tệp văn bản thay vì hệ thống tệp
Lý tưởng nhất là sẽ có một công cụ tương tự như lựa chọn cam kết tương tác lanh lợi:
Bạn có thể chọn toàn bộ tệp, đoạn hoặc từng dòng riêng lẻ. Công cụ này có thể giúp chọn các thư mục mà sau đó sẽ trở thành các nhóm.