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


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : yx                                   2:5020/400     08 Dec 2000  18:13:02
 To : All
 Subject : Re: еще один идиотский вопрос
 -------------------------------------------------------------------------------- 
 
 Alex V. Litovchenko <avl@partner.donetsk.ua> wrote: 
 
 > 
 > КАК дерево с каталогами и файлами перевести
 > в нижний регистр (названия) киньте плс скрипт
 > 
 
    Держи немного кривоватый, но работающий шелл скрипт.
    Как и всякий скрипт он медленный,
  лучше бы использовать связку find/xargs, но..  чтобы
  набрать аналогичный C код прийдется произвести примерно
  столько же нажатий на клавиатуре ,)
  так что для частого юзания "moveu.sh: don't use me"
    Для обратной задачи поменяй местами :lower: и :upper:
  и переименуй в movel.sh .
 
  done.
 
 p.s. с симлинкам работает так же как и mv,
  со всем остальным (sockets, devs, pipes) как и положено sh,
  можешь попробовать ksh, он более функ-н в этом смысле.
 -- cut
 
 #!/bin/sh
 
 # `moveu.sh' script recursively upcases names
 #   of directories (and/or files)
 # Usage: `./moveu.sh path ..'
 # Intend for: for-bubo
 # Bugs: -ge 0
 #   (C)opyleft 2000 yx's groupie
 
 moveu() {
  from=`echo $1 | sed 's/.*\///'`
  to=`echo $from | tr '[:lower:]' '[:upper:]'`
  [ "$from" != "$to" ] && mv $from $to
 }
 lookp() {
  for i in `ls -1`; do $base $i; done
 }
 
 if [ $# -lt 1 ]; then
  echo "Usage: $0 path ..."; exit 1
 fi
 
 if [ "$base" = "" ]; then
  mv --help >/dev/null 2>&1 || needsup=yes
  sed --help >/dev/null 2>&1 || needsup=yes
  tr --help >/dev/null 2>&1 || needsup=yes
  if [ "$needsup" != "" ]; then
   echo "I don't know where is your \`mv', \`sed' or \`tr'"; exit 1
  fi
  base="`pwd`/$0"
 fi 
 export base
 
 if [ $# -gt 1 ]; then
  for i in $*; do $base $i; done
  exit 0
 fi
 
 if [ -d $1 ]; then (cd $1; lookp; cd ..; moveu $1 dir)
  elif [ -f $1 ]; then moveu $1 file
   else echo object not exist \"$1\"
 fi
 
 -- 
 Vladimir Yakovetsky (пишите мелким почерком)
 --- ifmail v.2.15dev5
  * Origin: <Customer of IP Telecom Ltd.> (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 еще один идиотский вопрос   Alex V. Litovchenko   07 Dec 2000 05:31:01 
 Re: еще один идиотский вопрос   Sergey N. Goryachev   07 Dec 2000 18:44:03 
 Re: еще один идиотский вопрос   Artur Penttinen   07 Dec 2000 19:20:54 
 Re: еще один идиотский вопрос   Artur Penttinen   07 Dec 2000 19:55:44 
 Re: еще один идиотский вопрос   Eugen J. Sobchenko   07 Dec 2000 19:59:48 
 Re: еще один идиотский вопрос   yx   08 Dec 2000 18:13:02 
Архивное /ru.unix.bsd/201883a35b78b.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional