我希望找到所有.docx文件,并为它们添加一个字符串。这是我目前的代码,它有一点小错误
find -name '*.docx -execdir mv {} {}$string \;
重命名文件,但是像这个filename.docx_string一样添加字符串,而不是像filename_string.docx
那样。
答案 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