Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: BASH: Как вывести список каталогов? (папок) в скрипте  (Прочитано 21796 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн owl5053

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
    • OWL5053
более унифицированный вид :)
or='/mnt/win_d/Pictures'
bu='/mnt/win_e/backup'
for dir in $or/*
do
[ -d "$dir" ] && rar a -u "${dir/$or/$bu}" "$dir"
done
а вот экранировать пробелы после ls у меня так и не получилось, потому что for не воспринимает метасимволы при передаче области поиска через переменную.
или так и должно быть?
(Нажмите, чтобы показать/скрыть)
ps а почему rar, а не tar?

Короче я так понимаю, если в имени файла есть пробелы в названии, то скрипт нормально не функционирует?
А RAR, потому что это пока что ЕДИНСТВЕННЫЙ архиватор, который умеет правильно синхронизировать каталоги которые сжимаем и архив.

Пользователь решил продолжить мысль 23 Января 2011, 18:40:46:
:-) НЕ КАТИТ! :-)
Не хочу!
Да и не могу!
скрипт в студию!

подумайте над своим поведением, избалованный ребёнок.

Цитируй правильно! Не вижу в сообщении ничего плохого, просто правда с проблемой столкнулся, а помочь пока что никто не может
:-) НЕ КАТИТ! :-) Не хочу я ручками 100-200 каталогов переименовывать! Да и не могу! Их создает отдельная программа!
А если в скрипте, то скрипт в студию!
« Последнее редактирование: 24 Января 2011, 17:29:37 от owl5053 »

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
find /mnt/win_d/Pictures/ -mindepth 1 -maxdepth 1 -type d -exec /bin/sh -c 'rar a -u "/home/ginzburg/backup/`basename "{}"`.rar" "{}"'  \;
Я конечно далек от мысли...(с)

Оффлайн kit_oz

  • Участник
  • *
  • Сообщений: 122
    • Просмотр профиля
не понял последней проблемы.. в имени файла есть название - это как?
а basename не катит, т.к откидывает все что после пробела
« Последнее редактирование: 23 Января 2011, 20:10:03 от kit_oz »
молчание не всегда доказывает присутствие ума, но доказывает отсутствие глупости

Оффлайн owl5053

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
    • OWL5053
не понял последней проблемы.. в имени файла есть название - это как?
а basename не катит, т.к откидывает все что после пробела

Короче я так понимаю, если в имени файла есть пробелы в названии, то скрипт нормально не функционирует?

Оффлайн aliftin

  • Старожил
  • *
  • Сообщений: 1398
    • Просмотр профиля
Вам как минимум один раз указали на переменную $IFS. Задайте ее в начале функции как "\n" и везде переменные берите в кавычки. Если все написать грамотно, то проблем не будет.
Если мы не можем до чего то дотянуться, мы виним в этом не свой рост, не отсутствие табуретки, а свою цель.

Оффлайн smaharbA

  • Участник
  • *
  • Сообщений: 220
    • Просмотр профиля
весь "скрипт" в любом варианте == одна строка
Я конечно далек от мысли...(с)

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
T_T

find /mnt/win_d/Pictures/ -mindepth 1 -maxdepth 1 -type d -exec /bin/sh -c 'rar a -u "/home/ginzburg/backup/`basename "{}"`.rar" "{}"'  \;
весь "скрипт" в любом варианте == одна строка
+100500

 

Страница сгенерирована за 0.03 секунд. Запросов: 23.