Мертвый просто.
Как переименовать
05_h.png
06_h.png
to
05_half.png
06_half.png
По крайней мере, я думаю, это просто, но для Google такого рода трудно, если вы уже не знаете.
Спасибо....
Мертвый просто.
Как переименовать
05_h.png
06_h.png
to
05_half.png
06_half.png
По крайней мере, я думаю, это просто, но для Google такого рода трудно, если вы уже не знаете.
Спасибо....
Просто используйте bash, не нужно вызывать внешние команды.
for file in *_h.png
do
mv "$file" "${file/_h.png/_half.png}"
done
Не добавляйте #!/bin/sh
Для тех, кто нуждается в одном слое:
for file in *.png; do mv "$file" "${file/_h.png/_half.png}"; done
Попробуйте выполнить команду rename
:
rename 's/_h.png/_half.png/' *.png
Update:
пример использования:
создать некоторый контент
$ mkdir /tmp/foo
$ cd /tmp/foo
$ touch one_h.png two_h.png three_h.png
$ ls
one_h.png three_h.png two_h.png
тестовое решение:
$ rename 's/_h.png/_half.png/' *.png
$ ls
one_half.png three_half.png two_half.png
Вы ищете чистое решение bash? Существует много подходов, но здесь один.
for file in *_h.png ; do mv "$file" "${file%%_h.png}_half.png" ; done
Это предполагает, что единственными файлами в текущем каталоге, которые заканчиваются на _h.png
, являются те, которые вы хотите переименовать.
Гораздо более конкретно
for file in 0{5..6}_h.png ; do mv "$file" "${file/_h./_half.}"
Предполагая, что эти два примера являются вашими. файлы.
for f in *.png; do
fnew=`echo $f | sed 's/_h.png/_half.png/'`
mv $f $fnew
done
Используйте утилиту rename
, написанную в perl.
Возможно, он недоступен по умолчанию, хотя...
$ touch 0{5..6}_h.png
$ ls
05_h.png 06_h.png
$ rename 's/h/half/' *.png
$ ls
05_half.png 06_half.png
for i in *_h.png ; do
mv $i `echo "$i"|awk -F'.' '{print $1"alf."$2}'`
done
Другой подход можно использовать вручную с помощью опции переименования пакетов
Щелкните правой кнопкой мыши файл → Пользовательские команды файлов → Пакетное переименование и вы можете заменить h. с половиной.
Это будет работать с linux-based gui с использованием WinSCP и т.д.
Используйте утилиту rename
:
[email protected]:/tmp/foo $ touch 05_h.png 06_h.png
[email protected]:/tmp/foo $ rename 's/_h/_half/' *
[email protected]:/tmp/foo $ ls -l
total 0
-rw-r--r-- 1 rc rc 0 2011-09-17 00:15 05_half.png
-rw-r--r-- 1 rc rc 0 2011-09-17 00:15 06_half.png