すべての .docx ファイルを検索し、それらに文字列を追加したいと考えています。これは私の現在のコードで、少しバグがあります
find -name '*.docx -execdir mv {} {}$string \;
ファイルの名前は変更されますが、文字列は filename.docx_string のように追加され、そのようには追加されませんfilename_string.docx
。
すべての .docx ファイルを検索し、それらに文字列を追加したいと考えています。これは私の現在のコードで、少しバグがあります
find -name '*.docx -execdir mv {} {}$string \;
ファイルの名前は変更されますが、文字列は filename.docx_string のように追加され、そのようには追加されませんfilename_string.docx
。
これはトリックを行い、サブディレクトリに降ります。
find ./ -name "*.docx" -print | while read i; do mv "$i" `echo "$i" | sed -e 's/\.docx/_stringhere\.docx/'`; done
このsed -e
部分は、 の正規表現置換を実行し.docx
ます。
バッシュ 4
shopt -s globstar
for file in **/*.docx
do
echo mv "$file" "${file%.docx}${string}.docx"
done