Đối với một cái gì đó lạ hơn một chút so với trả lời có hoặc không cho mỗi tệp, bạn có thể sử dụng iselect
cho lựa chọn dựa trên ncurses tương tác. ví dụ
iselect -a -m < list.txt | xargs -d '\n' -r echo rm
hoặc để cho phép lựa chọn các tập tin trong thư mục hiện tại:
find . -maxdepth 1 -type f | iselect -a -m | xargs -d '\n' -r echo rm
Điều đó sẽ hiển thị danh sách dựa trên toàn màn hình (toàn bộ thiết bị đầu cuối), trong đó các tệp có thể được chọn và bỏ chọn theo ý muốn bằng cách nhấn SPACE. nhấn ENTER để chấp nhận các lựa chọn của bạn (các mục được chọn sẽ được in trên thiết bị xuất chuẩn) hoặc q
để thoát (không có gì được in ra thiết bị xuất chuẩn). nhấn h
để được giúp đỡ
Lưu ý rằng echo rm
- tôi đã viết nó như thế để thử nghiệm. thay đổi nó thành chỉ rm
khi bạn tự tin bạn hiểu những gì nó đang làm.
Cũng lưu ý rằng xargs
đang được sử dụng ở đây với \n
vai trò là dấu phân tách đầu vào. Điều này sẽ không hoạt động nếu bất kỳ tên tệp nào có các ký tự dòng trong đó. Đối với vấn đề đó, iselect
sẽ không hoạt động chính xác - nó mong đợi một mục trên mỗi dòng - iselect
thật không may, không có tùy chọn cho đầu vào hoặc đầu ra kết thúc null.
iselect
được đóng gói cho debian, có thể là Ubuntu và các bản phát hành khác. trang chủ có tại http://www.ossp.org/pkg/tool/iselect/
y
, tập tin trước đó sẽ bị xóa?