Tôi muốn đổi tên tất cả các tệp trong một thư mục và thêm phần mở rộng .xml
. Tôi đang sử dụng Unix. Làm thế nào tôi có thể làm điều đó?Cách thêm phần mở rộng .xml vào tất cả các tệp trong một thư mục trong Unix/Linux
Trả lời
Trên vỏ, bạn có thể làm điều này:
for file in *; do
if [ -f ${file} ]; then
mv ${file} ${file}.xml
fi
done
Sửa
Để làm điều này một cách đệ quy trên tất cả các thư mục con, bạn nên sử dụng find
:
for file in $(find -type f); do
mv ${file} ${file}.xml
done
Mặt khác Mặt khác, nếu bạn định làm gì phức tạp hơn, bạn có lẽ không nên sử dụng các tập lệnh shell
.
Vẫn còn tốt hơn
Sử dụng các bình luận được cung cấp bởi Jonathan Leffler dưới đây:
find . -type f -exec mv {} {}.xml ';'
làm thế nào để tôi làm điều đó đệ quy trên tất cả các thư mục phụ quá – aWebDeveloper
Sử dụng 'tìm' để tìm các tập tin; 'tìm. -type f -exec mv {} {} .xml ';' '. –
Đã cập nhật câu trả lời. –
Trong Python:
Sử dụng os.listdir
để tìm tên của tất cả các file trong một thư mục. Nếu bạn cần đệ quy tìm tất cả các tệp trong thư mục con, hãy sử dụng os.walk
để thay thế. API của nó phức tạp hơn os.listdir
nhưng nó cung cấp các cách mạnh mẽ để đệ quy thư mục đi bộ.
Sau đó, sử dụng os.rename
để đổi tên tệp.
một số mã mẫu hoặc ví dụ hoặc liên kết. Tôi không biết python – aWebDeveloper
@Web Developer: bạn có chỉ cho tôi 1 câu trả lời không? Nghiêm túc? –
không có tôi nhấp vào nó do nhầm lẫn tôi ngay lập tức hoàn tác nó – aWebDeveloper
Không biết nếu điều này là tiêu chuẩn, nhưng Perl
gói của tôi (Debian/Ubuntu) bao gồm một /usr/bin/prename
(và một liên kết tượng trưng chỉ rename
) không có mục đích nào khác:
rename 's/$/.xml/' *
làm cách nào để tôi thực hiện đệ quy trên tất cả các thư mục con quá nhưng không thực hiện trên các tệp .xml. tức là các tệp chưa được đổi tên thành – aWebDeveloper
Với '$ (find-type f)' thay vì '*'. Và điều chỉnh regex bằng một xác nhận 's/(? mario
Bạn có thể sử dụng đổi tên bằng cờ -n để kiểm tra cách đổi tên sẽ không thực sự đổi tên các tệp. –
find . -type f \! -name '*.xml' -print0 | xargs -0 rename 's/$/.xml/'
- 1. Mở tất cả các tệp trong một thư mục
- 2. Thêm tất cả các tệp trong một thư mục chưa được thêm vào trong lật đổ?
- 3. Xcode - Tự động thêm tất cả các tệp trong một thư mục vào một mục tiêu
- 4. đệ quy thêm phần mở rộng tệp cho tất cả các tệp
- 5. CMake - Tự động thêm tất cả các tệp trong một thư mục vào một mục tiêu?
- 6. Làm cách nào để lấy danh sách tất cả các tệp có phần mở rộng ESY trong một thư mục?
- 7. Xóa tất cả các tập tin trong một thư mục
- 8. Điều gì mở rộng cho tất cả các tệp trong thư mục hiện tại đệ quy?
- 9. Thêm phần mở rộng tệp tùy chỉnh vào Netbeans
- 10. Cách nén tất cả các tệp trong thư mục
- 11. Làm cách nào để thay đổi phần mở rộng của nhiều tệp trong một thư mục?
- 12. Cách gzip tất cả các tệp trong tất cả các thư mục con trong bash
- 13. Cách tìm tất cả các tệp có phần mở rộng nhất định trên Android?
- 14. Cách mở rộng tất cả các phần phụ trên thanh bên toctree trong Sphinx
- 15. cách xóa tất cả các tệp trừ ba tệp mới nhất trong một thư mục
- 16. Xóa tất cả các tệp trong thư mục (không chạm vào bất kỳ thư mục nào hoặc trong bất kỳ thư mục nào)
- 17. Java tải xuống tất cả các tệp và thư mục trong một thư mục
- 18. Buộc xóa tất cả các tệp khỏi một thư mục
- 19. Tìm tất cả các tệp có phần mở rộng nhất định trong Unix?
- 20. Cách lấy danh sách các tệp có phần mở rộng cụ thể trong một thư mục nhất định?
- 21. Tìm tệp trong tất cả các thư mục có thể?
- 22. Bash: scp tất cả các tệp trong một thư mục, nhưng không phải thư mục con
- 23. emacs: mở tất cả các tệp .txt trong một thư mục cụ thể trong một chế độ chính cụ thể
- 24. Liệt kê tất cả các tệp và thư mục trong thư mục + thư mục con
- 25. Cách nhận tệp trong thư mục, bao gồm tất cả các thư mục con
- 26. Nhập tất cả các mô-đun vào một thư mục
- 27. Xóa tất cả các tệp git khỏi một thư mục?
- 28. Nhận tất cả các thư mục trong Thư viện Explorer
- 29. CoffeeScript - biên dịch tất cả các tệp .coffee trong thư mục hiện tại và tất cả các thư mục con
- 30. Android, làm cách nào để có danh sách tất cả các tệp trong một thư mục?
Những thẻ này tạo ra sự nhầm lẫn. Bạn có muốn làm điều này trong PHP, Python hay Unix shell? – rds
đổi tên 's/$/\. Xml /' * tham khảo: http://askubuntu.com/a/74368 – Neil