找到所有.docx文件,使用Bash添加后缀

时间:2010-08-12 14:48:01

标签: bash file-rename

我希望找到所有.docx文件,并为它们添加一个字符串。这是我目前的代码,它有一点小错误

find -name '*.docx -execdir mv {} {}$string \;

重命名文件,但是像这个filename.docx_string一样添加字符串,而不是像filename_string.docx那样。

2 个答案:

答案 0 :(得分:2)

这将解决问题并进入子目录。

find ./ -name "*.docx" -print | while read i; do mv "$i" `echo "$i" | sed -e 's/\.docx/_stringhere\.docx/'`; done

sed -e部分将对.docx执行正则表达式替换。

答案 1 :(得分:0)

Bash 4

shopt -s globstar
for file in **/*.docx
do
  echo mv "$file" "${file%.docx}${string}.docx"
done