档案
events-number1.10a.pdf
结果
events-number1.10a.docx.pdf
理想
events-number1.10a.pdf
events-number1.10a.docx.pdf
答案 0 :(得分:0)
您可以尝试这个简单的bash脚本
#!/bin/bash
for file in *.pdf
do
new_file=$(echo "$file" | sed -r 's/(.*)(\.pdf)/\1.docx\2/')
mv $file $new_file
done
<强>输出:强>
events-number1.index10a.docx.pdf
events-number1.index10b.docx.pdf
events-number1.index10c.docx.pdf
events-number2.index10a.docx.pdf
events-number2.index10b.docx.pdf
events-number2.index10c.docx.pdf
如果要使用cp
命令而不是mv
命令
cp $file $new_file
所以你现有的文件不会改变。
说明:
将所有日志文件传递给for循环,然后将文件名拆分为预期结果以使用sed
命令并存储在一个变量中。然后将旧文件mv转换为意味着您预期文件的新文件。
答案 1 :(得分:0)
一个简单的重命名命令就可以完成这项工作。
rename 's/(?=\.pdf$)/.docx/' *.pdf