Этот скрипт будет печатать необходимые mv
команды для stdout
. Вы должны сохранить их в файл ( sh script > file
) и проверить их. Если вы находите их безопасными для выполнения, тогда вы можете запустить команды в file ( sh file
). Или вы можете изменить, print
чтобы system
в самом сценарии.
find $1 -type f > /tmp/to_rename find $1 -type d >> /tmp/to_rename perl -lne ' $re = qr/([12]\d\d\d)(\.\w*)?$/; if (/$re/) { $old = $_; s/$re/(\1)\2/; print("mv \"$old\" \"$_\""); } ' /tmp/to_rename