2013-07-09 3 views
1

мне нужно переименовать * -dev.example.com.cfg к * -prod.example.com.cfgПереименование файлов с использованием регулярных выражений?

Например, если имя файла БД-dev.example.com.cfg мне нужно переименовать его db-prod.example.com.cfg

Есть как 200+ файлов, есть ли способ сделать это через командную строку?

+1

Что вы сделали, чтобы попытаться решить эту проблему? Мы будем более охотно отвечать на ваш вопрос, если вы скажете нам, что вы пробовали до сих пор. (Полезные ссылки для уточнения вопросов: [ask], [help]) – Doorknob

+0

У вас есть 'rename'? –

+0

Кажется, вы не склонны прилагать никаких усилий. Простой поиск привел бы вам несколько решений. – devnull

ответ

0

Regex для этого не требуется, поэтому, поскольку вы работаете в Linux, вы можете использовать rename от util-linux. В Debian и производных, таких как Ubuntu, команда называется rename.ul.

rename dev.example.com.cfg prod.example.com.cfg *.cfg 
1

Вы можете сделать это в чистом состоянии с parameter substitution.

for file in *-dev.example.com.cfg; do 
    mv "$file" "${file/%-dev.example.com.cfg/-prod.example.com.cfg}" 
done 
Смежные вопросы