С bash 2.x/3.x
#!/bin/bash
while IFS= read -r -d $'\0' file; do
echo mv "$file" "${file/@x2/@2x}"
done < <(find images/ -type f -name "something*@x2*.png" -print0)
С bash 4.x
#!/bin/bash
shopt -s globstar
for file in images/**; do
[[ "$file" == something*@x2*.png ]] && echo mv "$file" "${file/@x2/@2x}"
done
Примечание: Вкаждый случай, который я оставил в echo
, чтобы вы могли выполнить пробный прогон, удалите echo
, если выходной сигнал достаточен