|
|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/201883a35b78b.html, оценка из 5, голосов 10
|