Bash, переименование группы файлов

Автор: Napilnik Дата: 02.12.2009 15:22 Команда mv нормально переименовывает если задавать точное новое имя файла. С масками получается ерунда:
mv *1.* zzz????????.???
mv ????0001.* ./zzz*.*
Файлы по маске находятся, а переименовываются неправильно: вместо zzzshot0001.phg получаются zzz????????.??? и ./zzz*.*
Re: bash, переименование группы файлов 02.12.2009 16:23mapb14ator попробуйте с помощью mmv - универсальная весчь для переименования/копрования/линкования множества файлов
Re: bash, переименование группы файлов 02.12.2009 17:36Napilnik Так нету в дистрибутиве такой команды. Напаскалить утилиту которая будет переименовывать файлы по маске я и сам могу, а вот какая для этого команда есть в системе? Даже дос умеет это делать.
Re: bash, переименование группы файлов 02.12.2009 18:13mapb14ator Napilnik Пишет:
-------------------------------------------------------
> Так нету в дистрибутиве такой команды.
yum install mmv
рукводство здесь [rus-linux.net]
К сожалению, из Вашего поста не ясно, каков должен быть результат.
Re: bash, переименование группы файлов 02.12.2009 19:11Napilnik >yum install mmv

Надеюсь в последующих дистрах команда станет встроенной а не доустанавливаемой.

>из Вашего поста не ясно, каков должен быть результат

У всех скриншотов (shot0001.png, shot0002.png, shot0003.png) в каталоге к началу имени файла должна была прибавиться приписка из трёх букв zzz
У mmv для такого простого действия какая-то странная логика, наверно разработчики придумали её с нуля. Потому всё так сложно.
mmv "*" "zzz#1"
Re: bash, переименование группы файлов 02.12.2009 19:21Napilnik Но раз Вы хорошо знаете баш, то какой у него аналог команды pause
Действие: выполнение скрипта приостанавливается, на экран выводится сообщение "пауза, для продолжения выполнения нажмите любую клавишу". После нажатия выполнение скрипта возобновляется.
Re: bash, переименование группы файлов 02.12.2009 22:39mapb14ator Хм! Да пожалуйста!
#! /bin/bash
# ...
read -p "Нажмите Enter для продолжения..."
# ...

Очень рекумендую воскурить сей мануал [www.opennet.ru]
пригодиться как для начинающих, так и для опытных шелл-программеров
Re: bash, переименование группы файлов 02.12.2009 22:50mapb14ator Кстати, тут один мой товарищ подсказал один весьма любопытный ресурс: полюбопытствуйте [ss64.com]
Re: bash, переименование группы файлов 02.12.2009 23:35Napilnik Офлайн книжка в хтмл - то что надо. По поводу второй ссылки, замена goto на case - и сюда добрались готоненавистники)
Re: bash, переименование группы файлов 03.12.2009 18:54lg В дистрибутиве должен быть rename. А вообще рекоммендую [filerenameutils.sourceforge.net]
Re: bash, переименование группы файлов 07.12.2009 08:13smaharbA
ls -1 *1.* | while read f; do mv $f zzz$f; done
Re: bash, переименование группы файлов 07.12.2009 15:46kosmonavt smaharbA Пишет:
-------------------------------------------------------
> > ls -1 *1.* | while read f; do mv $f zzz$f;
> done
>

-1 нинужен

ls | sed -rn 's/^(.*)1\.(.*)$/mv & \12.\2/p' | sh
Re: bash, переименование группы файлов 07.12.2009 21:30smaharbA -1 нужен в обеих разах, напорешься при случае
Re: bash, переименование группы файлов 07.12.2009 22:26kosmonavt Это где такие ls дают?
RSS-материал