Как добавить.расширение xml для всех файлов в папке в Unix / Linux
Я хочу, чтобы переименовать все файлы в папке и добавить
4 ответов
на оболочке вы можете сделать следующее:
for file in *; do
if [ -f ${file} ]; then
mv ${file} ${file}.xml
fi
done
редактировать
чтобы сделать это рекурсивно во всех подкаталогах, вы должны использовать find
:
for file in $(find -type f); do
mv ${file} ${file}.xml
done
С другой стороны, если вы собираетесь сделать что-то более сложным, чем это, вы, вероятно, не должны использовать shell
скрипты.
лучше все же
использовать комментарий Джонатан Леффлер ниже:
find . -type f -exec mv {} {}.xml ';'
не знаю, является ли это стандартным, но мой Perl
пакет (Debian / Ubuntu) включает в себя /usr/bin/prename
(и символическая ссылка просто rename
), которая не имеет другой цели:
rename 's/$/.xml/' *
на Python:
использовать os.listdir
найти имена всех файлов в каталоге. Если вам нужно рекурсивно найти все файлы в подкаталогах, а также, использовать os.walk
вместо. Его API сложнее, чем os.listdir
но он предоставляет мощные способы рекурсивно ходить каталогах.
затем использовать os.rename
переименовать файлы.