Điểm:3

Làm cách nào để xóa tất cả các tệp trong một thư mục có tên dài hơn X?

lá cờ ru

Tôi có một thư mục chứa 1000 tệp trong đó có tên là 23123 123r3883 3929388394j f38238d, v.v. Tôi cần xóa tất cả các tệp có độ dài tên > 9. Làm cách nào để thực hiện việc này?

lá cờ hr
Nó có phải là bash? zsh có một số vòng loại toàn cầu tiện dụng cho loại điều này
lá cờ cn
xin vui lòng sử dụng google.https://superuser.com/a/702461/276585 và không, tôi sẽ không đánh cắp câu trả lời của fossie ở đó: D
Điểm:4
lá cờ hr

Bạn có thể khớp tên tệp bao gồm ít nhất 10 ký tự bằng cách sử dụng biểu thức toàn cục đơn giản ??????????*. Vì vậy, miễn là số lượng tệp không quá dài, bạn có thể sử dụng

tiếng vang rm -- ???????????*

Đối với danh sách tệp dài hơn, bạn có thể chia nhỏ tên bằng cách sử dụng xargs:

printf '%s\0' -- ???????????* | xargs -r0 echo rm

Nếu bạn chuyển từ đánh đập đến zsh, bạn có thể sử dụng vòng loại toàn cầu để kiểm tra độ dài của mỗi tên tệp (được chuyển qua ĐÁP LẠI Biến đổi). Một lợi thế là bạn có thể dễ dàng thêm các vòng loại khác như N (tương đương với bash shell's nullglob) và . (giới hạn kết quả đối với các tệp đơn giản):

echo rm -- *(.Ne:'[[ $#REPLY -gt 9 ]]':)

hoặc

in -rNC1 -- *(.Ne:'[[ $#REPLY -gt 9 ]]':) | xargs -r0 echo rm

Để làm điều tương đương trong bash có thể sẽ cần một vòng lặp, như

cho f trong *; làm
  [[ -f $f && $#f -gt 9 ]] && echo rm -- "$f"
xong

Gỡ bỏ tiếng vang khi bạn hài lòng rằng các tệp phù hợp đang được khớp.

pLumo avatar
lá cờ in
Hoặc `find -maxdepth 1 -type f -name "?????????*" -delete`

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.