如何重命名大量文件并删除扩展名

如何重命名大量文件并删除扩展名

我需要重命名以下文件。我只想删除.job-209675以 开头的文件名SOA,但保持原始文件名完整,因为该目录中还有其他文件

例如
之前:./SOA_990377897NW0001_1557340549734.xml.job-2074645
之后:./SOA_990377897NW0001_1557340549734.xml

答案1

如果变量filename包含其中一个文件的名称,则${filename%.job-*}该名称将在最后一个点之后不带位。

要循环文件名,依次重命名每个文件,

for filename in SOA_*.job-*; do
    echo mv -i "$filename" "${filename%.job-*}"
done

echo是为了保护。您应该运行一次循环并检查输出,echo如果您认为正确,则删除 。该-i选项mv使其在覆盖现有文件之前要求确认。

这假设所有相关文件(而不是其他文件)都与该SOA_*.job-*模式匹配。

相关内容