Массовое переименование внутри файлов, включая подкаталоги

У меня есть много файлов с «example.com», и я хочу заменить его на «example.co», поскольку я меняю tld своего сайта, у меня есть программа переименования, установленная на моем сервере, и у меня также есть 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...

person Shubham Mathur    schedule 25.11.2014    source источник
comment
rename требует три аргумента from to file. Попробовать rename example.com example.co {}?   -  person Etan Reisner    schedule 25.11.2014


Ответы (1)


Вы хотите не переименовывать, а заменять файлы на месте, поэтому правильным инструментом является sed :

find -name '*example*' | xargs -I '{}' sed -i 's/\.com$/.co/' '{}'
person Gilles Quenot    schedule 25.11.2014
comment
Конечно, find делайте это по умолчанию - person Gilles Quenot; 25.11.2014