Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!
0 Пользователей и 1 Гость просматривают эту тему.
#!/bin/sh# Определяем глубину вложенности директорийdepth=$((`find "$1" -type d -print | \ sed -E 's/[^\/]+//g' | \ sort | tail -n 1 | \ wc -c`+1));# Макрос, переименовывающий файлы и директории replacer='new="`dirname "{}"`/`basename "{}" | sed "s/test/good/g"`"; if [ "$new" != "{}" ]; then mv "{}" "$new"; fi;';# Обходим все уровни вложенности while [ $depth -ge 0 ];do # Находим и заменяем find "$1" -depth $depth -and -name '* *' -print -exec sh -c "$replacer" \; # Меняем уровень вложенности depth=$(($depth-1)); done;
chmod +x mass-replace.sh$ ./mass-replace.sh ~/xlam
#!/bin/bash # renames.sh # basic file renamer criteria=$1 re_match=$2 replace=$3 for i in $( ls *$criteria* ); do src=$i tgt=$(echo $i | sed -e "s/$re_match/$replace/") mv $src $tgt done
./run.sh путь_к_файлам test good
Страница сгенерирована за 0.017 секунд. Запросов: 22.