Khi tôi nhập ảnh từ máy ảnh của mình trong Shotwell, nó cũng nhập các video clip. Điều này hơi khó chịu, vì tôi muốn lưu trữ video của mình trong một thư mục khác. Tôi đã cố gắng viết một lệnh bash để làm điều này, nhưng không thành công.
Tôi cần một lệnh đáp ứng các yêu cầu sau:
- Định vị tất cả các tệp trong cấu trúc thư mục không có phần mở rộng .jpg, .png, .gif hoặc .xcf (không phân biệt chữ hoa chữ thường).
- Di chuyển tất cả các tệp này vào một thư mục đích, bất kể tên tệp hoặc đường dẫn thư mục có chứa khoảng trắng hoặc ký tự đặc biệt.
Bất kỳ trợ giúp sẽ được đánh giá cao!
EDIT: Tôi đang sử dụng shell mặc định trong Ubuntu, có nghĩa là một số lệnh được đặt bí danh, v.v.
EDIT 2: Tôi đã thử bản thân mình (không phải phần sao chép, chỉ là phần liệt kê các phần của tệp). Tôi đã bật extglob và chạy lệnh sau:
$ ls -R /path | awk '
/:$/&&f{s=$0;f=0}
/:$/&&!f{sub(/:$/,"");s=$0;f=1;next}
NF&&f{ print s"/"$0 }'
Điều này liệt kê tất cả mọi thứ. Tôi đã thử sử dụng grep ở phần cuối của nó, nhưng không có ý tưởng rõ ràng nhất về cách làm cho nó không khớp với mẫu tôi đưa ra. Công tắc extglob không giúp được gì nhiều với grep, mặc dù nó giúp với các lệnh khác.