Считаете, что Ubuntu недостаточно дружелюбна к новичкам? Помогите создать новое Руководство для новичков!
0 Пользователей и 1 Гость просматривают эту тему.
cp --verbose ...rsync --progress ...
Код: [Выделить]cp --verbose ...rsync --progress ...
можно сделать через цикл while read x.Сначала найдем все файлы с картинками, затем через канал передаем на while read x, который перемещает файлы и если перемещение удалось (&&) выводит сообщение что файл перемещен (echo $x перемещенн)
"Сначала найдем все файлы с картинками" - вот именно этот процесс меня интересует, не займёт ли он очень много времени.
#!/bin/bashprintf "Начало положено...\n"# ищем файлы с указанным расширением, размером больше 100 КБ, причем регулярные файлыfind . \( -name "*jpg" -o -name "*jpeg" -o -name "*png" -o -name "*bmp" \) -size +100K -type f -exec cp --verbose /Documents/result/ "{}" \;printf "Готово.\n"
cp --verbose /Documents/result/ "{}"
#!/bin/bashfind "$1" -name '*\.jpg' -size +100k | while read x; domv "$x" "$2" && echo "Файл "$x перемещен в $2"done
echo "Файл "$1 перемещен в $2"
Цитата: codrilla от 30 Января 2013, 14:02:52cp --verbose /Documents/result/ "{}"Аргументы местами перепутали.Более того, имеет смысл добавить проверку существания файла с таким же именем в конечном каталоге.
#!/bin/bashprintf "Начало положено...\n"# ищем файлы с указанным расширением, размером больше 100 КБ, причем регулярные файлыfind . \( -name "*jpg" -o -name "*jpeg" -o -name "*png" -o -name "*bmp" \) -size +100K -type f -exec cp /Documents/result/ --verbose "{}" \;printf "Готово.\n"
Izamoo,а разве Код: [Выделить]echo "Файл "$1 перемещен в $2"будет выводить в одну и туже строку или строки будут дублироваться при смене имени файла?
echo "Файл "$x перемещен в $2"
Цитата: Чистый от 30 Января 2013, 14:08:04Izamoo,а разве Код: [Выделить]echo "Файл "$1 перемещен в $2"будет выводить в одну и туже строку или строки будут дублироваться при смене имени файла? Я думаю, что это всё выведется кучей строк.
#!/bin/bashDIR_SRC="/path/to/dir/"DIR_DST="/Documents/result/"cd "$DIR_SRC" || exit 1find -regextype posix-extended -iregex '^.*\.(bmp|gif|jpeg|jpg|png|tif)$' -size +100k -type f | while read FILEdo if [ ! -f "$DIR_DST/$(basename "$FILE")" ] then cp --verbose "$FILE" "$DIR_DST" else cp --verbose "$FILE" "$DIR_DST/$(basename "$FILE").$RANDOM" fidone
А нужно ли тут -type f ? Ведь и так отбор идет по расширениям файлов.
Страница сгенерирована за 0.043 секунд. Запросов: 22.