http://www.user.su/Массовое_переименование_в_консоли

меняем .bak на .kab
rename 's/\.bak$/.kab/' *.bak

делаем все буквы маленькими
rename 'y/A-Z/a-z/' *



http://habrahabr.ru/post/55121/

Замена текста в файлах

Чтобы заменить в текстовом файле все вхождения последовательности символов “windows” на “linux” написать в консоли:
sed -i s/windows/linux/g /адрес/имя_файла

Если надо заменить текст не в одном файле, то есть несколько способов. Для того, чтобы заменить текст «Windows» на «Linux» во всех файлах в текущей директории, название которой начинается с «test», введите в консоли:
perl -i -pe 's/Windows/Linux/;' test*

Чтобы провести ту же операцию во всех поддиректориях:
find. -name '*.txt' -print | xargs perl -pi -e's/Windows/Linux/ig' *.txt

Или вы хотите сделать то же самое для на обычных файлов со множеством переносов строк и странных символов (файл — в другой кодировке):
find -type f -name '*.txt' -print0 | xargs --null perl -pi -e 's/Windows/Linux/'


http://compiling.ru/solutions/massovoe-pereimenovanie-fajlov-v-bash/

Удаление или замена пробелов в имени файла

Пробелы в имени файла – это не самая хорошая идея. Если вам нужно удалить пробелы в именах всех файлов в текущем каталоге, то для этого вы можете использовать следующую команду:

ls | grep » » | while read -r f; do mv -i «$f» `echo $f | tr -d ‘ ‘`; done

В случае, если вам нужно заменить пробел в имени фала на подчеркивание (или любой другой символ), то используйте следующую команду:

ls | grep » » | while read -r f; do mv «$f» `echo $f | tr ‘ ‘ ‘_’`; done

Как это работает? ls и grep будут циклично обрабатывать все файлы в текущем рабочем каталоге, содержащие пробел в имени. В теле цикла, мы затем выполним команду mv, преобразуя месторасположения файла с помощью команды tr. Удостоверьтесь, что, при использовании команды mv, параметр -i включен, чтобы избежать случайной перезаписи файлов.

Преобразование имен фалов из нижнего регистра в верхний:

Эта команда преобразует имена всех файлов в текущем каталоге из нижнего регистра в верхний. Удостоверьтесь, что, при использовании команды mv, параметр -i включен, чтобы избежать случайной перезаписи некоторых файлов. Для командной строки Linux имена “File” и “file” – это разные файлы. Если вы преобразуете с помощью mv “file” в “FILE”, то вы перезапишете существующий “FILE”.

for i in $( ls | grep [a-z] ); do mv -i $i `echo $i | tr ‘a-z’ ‘A-Z’`; done

Преобразование имен фалов из верхнего регистра в нижний:

Эта команда преобразует имена всех файлов в текущем каталоге из верхнего регистра в нижний. Удостоверьтесь, что, при использовании команды mv, параметр -i включен, чтобы избежать случайной перезаписи некоторых файлов. Для командной строки Linux имена “File” и “file” – это разные файлы. Если вы преобразуете с помощью mv “FILE” в “file”, то вы перезапишете существующий “file”.

for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr ‘A-Z’ ‘a-z’`; done


http://epol.su/linux/item/краткий-справочник-по-массовому-переименовыванию-файлов.html

$ rename 's/\.c\.orig$/.c/' *.c # переименовать все *.c.orig в *.c
$ rename 'y/A-Z/a-z/' *.JPG # имена фотографий маленькими буквами
$ rename 's/\U/\u/g' *.JPG # тоже самое
$ rename '$_=lc' * # тоже самое, но для всех файлов
$ rename 's/deftones-//' *.mp3 # убрать префис 'deftones-' у *.mp3
$ rename 's/^/jerk-/' *.swf # добавить префикс 'jerk-' у *.swf
$ rename 's/ /_/g' * # пробелы в именах файлах заменить на '_'
# перевести в большой регистр часть имени файла
$ rename -v 's/s\d.*e\d/\U$&\E/' House.M.D.s0*
House.M.D.s03e04.rus.avi renamed as House.M.D.S03E04.rus.avi
House.M.D.s03e05.rus.avi renamed as House.M.D.S03E05.rus.avi
House.M.D.s03e06.rus.avi renamed as House.M.D.S03E06.rus.avi
House.M.D.s03e07.rus.avi renamed as House.M.D.S03E07.rus.avi


http://wiki.dieg.info/doku.php/faq

Поиск и замена текста в нескольких файлах:

Чтобы заменить foo на bar в нескольких файлах, выполните следующую команду Perl:
> perl -pi~ -e 's/foo/bar/' [files]

Оригинальные файлы при этом будут сохраны с именами filename~.
# perl -pi~ -e 's/ua.archive.ubuntu.com/mirror.yandex.ru/' /etc/apt/sources.list

replace, входит в состав MySQL (т.е. должен быть установлен MySQL Server). В приведенном примере, в файле config.inc.php заменяются ВСЕ вхождения слова change-this-to-your.domain.tld на yourdomain.com
> replace "change-this-to-your.domain.tld" "yourdomain.com" -- config.inc.php

В файле collabnet_subversion_httpd.conf заменить на строку collabnet_subversion_httpd.conf. Используются утилиты sed:
> sed -i -e 's/ServerName 10.1.7.1:9876/ServerName 10.1.7.2:9876/' ./collabnet_subversion_httpd.conf


http://zenux.ru/articles/23/
переименовывает все файлы в текущем каталоге, заменяя пробелы на символы подчеркивания «_»:
$ find . -type f | while read i; do mv "$i" "$(echo "$i" | tr ' ' _)"; done

Profile

uzverss: (Default)
uzverss

December 2024

S M T W T F S
12345 67
891011121314
15161718192021
22232425262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 22nd, 2026 07:53 pm
Powered by Dreamwidth Studios