Найти все файлы .docx, добавить суффикс с помощью Bash

Я хочу найти все файлы .docx и добавить к ним строку. Это мой текущий код, в котором есть небольшая ошибка

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

Файлы переименованы, но строка добавляется, например, filename.docx_string, а не так filename_string.docx .

1
задан Steven Penny 9 March 2013 в 04:44
поделиться

2 ответа

Это выполнит трюк и спустится в подкаталоги.

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

Часть sed -e выполнит regex-замену для .docx.

2
ответ дан 2 September 2019 в 22:12
поделиться

Bash 4

shopt -s globstar
for file in **/*.docx
do
  echo mv "$file" "${file%.docx}${string}.docx"
done
0
ответ дан 2 September 2019 в 22:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: