как переименовать все имена файлов, которые содержат определенное слово, в другое слово в папке, используя скрипт bat или shell - PullRequest
0 голосов
/ 20 декабря 2010

Как написать пакетный сценарий или сценарий оболочки для переименования файлов в папке

т.е.и как также заменить слово XYZ, присутствующее во всех файлах, словом ABC

Ответы [ 2 ]

1 голос
/ 20 декабря 2010

Оболочка:

Для переименования файлов:

for fname in *_XYZ; do
   newname=`echo "$fname" | sed 's/_XYZ/_ABC/g'`
   echo "$fname" "$newname"
done

После тестирования заменить echo $fname... на mv $fname....

Чтобы переименовать плитки и заменить содержимое файлов:

for fname in *_XYZ; do
   newname=`echo "$fname" | sed 's/_XYZ/_ABC/g'`
   sed 's/XYZ/ABC/g' "$fname" >"$newname"
done
0 голосов
/ 20 декабря 2010

Поскольку у этого вопроса есть метка "dos-batch", я предполагаю, что Arunachalam нуждается в решении dos, а не в bash.

Вы задали два совершенно разных вопроса.

  1. Для переименования имен файлов вы можете посмотреть batch-script-to-rename-files- или как изменить расширение файла

  2. Для изменения содержимого файла вы можете прочитать Пакетная замена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...