Tôi đang cố gắng xóa danh sách các từ cụ thể khỏi tất cả các tệp của tôi bằng một thư mục nhất định và thay thế chúng bằng không có gì.Xóa danh sách các từ khỏi tên tệp
Vì vậy:
nội dung hấp dẫn này 720p BLAH FOO BANG OOO - 30.9.2013.mp4
trở thành:
này awesome Content - 30.9.2013.mp4
Bây giờ, các công trình sau rất tuyệt vời cho một vây d và thay thế một từ.
find path/to/folder/ -maxdepth 3 -name '*.*' -execdir bash -c 'mv -i "$1" "${1//foo/}"' bash {} \;
Tôi cũng đã thử nhiều lần nhưng điều này có vẻ như một cách rất dài để làm điều đó và dường như tôi gặp vấn đề theo cách này.
Couple của vấn đề tôi có:
- Muốn nó là trường hợp nhạy cảm
- Cần "$ {1 // foo /}" để chỉ một danh sách
- Di chuyển không gian trắng nếu lớn hơn 1
Cố gắng chạy tập lệnh này dưới dạng tập lệnh bash trên cronjob.
Trừ khi có cách nào tốt hơn để xóa mọi thứ giữa "Nội dung tuyệt vời này" - "30.9.2013.mp4".
Được đánh giá cao.
Dường như tôi là một newb hoàn chỉnh. Làm thế nào tôi sẽ thực hiện điều này vào lệnh tìm của tôi, thay thế lệnh mv? Ngoài ra, nếu tôi thêm I to -e 's/FOO // g' e.g. -e 's/FOO // Ig' sẽ bỏ qua độ nhạy trường hợp này. – Keelan
Để làm cho trường hợp không nhạy cảm, hãy đặt một gI ở cuối. Tôi đã cập nhật bài đăng của mình. – philshem
Tôi đã thêm một giải pháp hoàn chỉnh hơn. Vui lòng cho tôi biết cách thức hoạt động của bạn. – philshem