Как пакетно переименовать файлы, но не каталоги?

У меня есть много файлов, которым нужно добавить расширение, но они находятся в каталоге с большим количеством подкаталогов. В настоящее время файлы не имеют расширения вообще. Как бы я переименовал только файлы, но не переименовал ни один из каталогов или подкаталогов?

0
задан 20 June 2012 в 20:14

1 ответ

Итерируйте все и проверьте, является ли это обычный файл или нет.

#bash
for file in ./*; do
    [[ -f $file ]] && mv "$file" "$file.ext"
done

Если вам нужно избегать добавления расширения в файлы, у которых оно уже есть:

for file in ./*; do
    if [[ -f $file && $file != *.ext ]]; then
        mv "$file" "$file.ext"
    fi
done
0
ответ дан 20 June 2012 в 20:14

Другие вопросы по тегам:

Похожие вопросы: