Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Sergey Matveychuk                    2:5020/52      25 Aug 2000  15:53:46
 To : All
 Subject : Re: Как переименовать группу файлов?
 -------------------------------------------------------------------------------- 
 
 >Dmitry Savchenko wrote:
 >> 
 >> Приветствую всех!
 >> 
 >> Hужен скрипт, периодически запускаемый cron'ом,  который бы переносил все
 >> файлы с заданным расширением  из одной директории в другую, меняя при этом
 >> расширение на другое. Причем корректно должна обрабатываться ситуация когда
 >> исходная папка пуста.
 >> 
 >> Помогите, плиз.
 >
 > Вариант 1. Платишь мне за эту работу, например, 100 баксов. Хотя нет,
 >мало... Пусть будет 200.
 >
 > Вариант 2. Берешь литературу, тратишь 20 минут и получаешь
 >удовольствие. Рекомендую старую-старую книжку Кернигана и Пайка "Unix -
 >универсальная среда программирования". Можно еще напустить man на твой
 >любимый шелл.
 
 Вариант 3. Идешь в comp.unix.shell, берешь там FAQ и выдираешь от туда
 этот скрипт:
 - ---------------------------------------------
 #!/bin/ksh
 # (C) {Fred,Michael}@hal6000.thp.Uni-Duisburg.DE 1992,93
 
 G= LU= N=
 while getopts nglu name ; do
  case $name in
   n) N=n;;
   g) G=g;;
   l|u) LU=$name;;
  esac
 done
 shift `calc $OPTIND - 1` 
 
 [ "$LU" -a "$1" -o "$3" ] || {
   echo "Usage: `basename $0` [-n] [-g] regexp1 regexp2 file ..."
   echo "   or: `basename $0` [-n] {-l|-u} file ..."
   exit 1
 }
 
 [ -z "$LU" ] && { FROM="$1" TO="$2"; shift 2;}
 
 for i in "$@"; do
   if [ ! -r "$i" ];then
     echo "$i not found."
   else
     if [ "$LU" ];then
       if [ "$LU" = "l" ]; then
         TARGET=`echo $i|tr "[A-Z]" "[a-z]"`
       else 
         TARGET=`echo $i|tr "[a-z]" "[A-Z]"`
       fi
     else
       TARGET=$(echo $i|sed "s/$FROM/$TO/$G")
     fi
     CMD="/bin/mv -i '$i' '$TARGET'"
     if [ "$i" != "$TARGET" ];then
       if [ "$N" ];then
         echo "$CMD"
       else
         eval "$CMD"
       fi
     fi
   fi
 done
 exit 0
 - --------------------------------------------------
 --- Forte Agent 1.7/32.534
  * Origin: CIAM (2:5020/52.0)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Как переименовать группу файлов?   Sergey Matveychuk   25 Aug 2000 15:53:46 
 Как переименовать группу файлов?   Serge Matveev   26 Aug 2000 23:34:20 
Архивное /ru.unix/808059b23e108.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional