zenwalk/blog

如何批量重命名文件

Opened this issue · 0 comments

for f in *.txt; do 
    mv -- "$f" "${f%.txt}.text"
done
# 使用 basename 命令
for f in *.txt; do
    mv -- "$f" "$(basename -- "$f" .txt).text"
done
# 使用 perl 版本的 rename 命令
rename "s/oldExtension/newExtension/" *.txt
# 使用 
rename txt text *.txt
find . -name "*.txt" -exec rename 's/.txt$/.newext/' {} \;
#!/bin/bash
for f in *.$1
do
    [ -f "$f" ] && mv -v "$f" "${f%$1}$2"
done

# Example usage (assuming the name of the script is change-ext):
change-ext ext1 ext2