У меня есть много файлов с "example.com" в них, и я хочу заменить его на "example.co", так как я изменяю свой сайт, у меня установлена программа переименования на моем сервере, и у меня также есть root-доступ.
Кто-нибудь может мне помочь переименовать его.
Пример расположения файлов:
/var/html/downloads/folder1/folder1-1/abc(example.com).mp4
/var/html/downloads/folder2/folder2-1/abc(example.com).mp4
/var/html/downloads/folder2/folder2-2/abc(example.com).mp4
/var/html/downloads/folder3/folder3-1/abc(example.com).mp4
Я надеюсь, что some1 поможет мне здесь :)
PS: я использовал этот cmd, но получил ошибку ниже:
cmd: find -name "*example*" | xargs -I '{}' rename s/com/co/ '{}'
Ошибка:
For more details see rename(1).
rename: not enough arguments
Usage:
rename [options] expression replacement file...
xargs -I '{}' rename "com" "co" '{}'
. Хотя это может быть слишком широким, поскольку он поймает любой экземпляр «com». Если Perl установлен, вы можетеprename
вместо этого использовать его в качестве версии регулярного выражения.sed
команду вместоrename
.rename
. Три пункта: (1) скрипт не выполнится, если есть встроенные пробелы (нужно использоватьfind -print0
иxargs -0
); (2) использованиеxargs -I
запускается отдельноrename
для каждого найденного файла - гораздо эффективнее просто передать по каналуxargs -0 rename com co
, который запускаетсяrename
только один раз, со всеми файлами в строке выполнения; (3) запускатьrename
один раз для файла, который вам вообще не нуженxargs
- используйтеfind -name "*example*" -exec rename com co '{}' \;