[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: for + ls + файлы с пробелами в именах



On Mon, 15 Jan 2007, Dmitry-T wrote:

Захотел сделать архивы сервера более доступными пользователям. Открыл их
по самбе, кодировку на сервере сделал cp1251, но гигабайт на 30 архив
для пользователей бесполезен - не могут с ним работать через total
commander. Пришлось раздробить архивы, запаковать по подкаталогам. С
/home всё прекрасно получилось, но есть ещё общая информация, а тут
подкаталоги в именах имеют пробелы и for их непонимает.

Банальный цикл:

   for dirName in `ls /mnt/info`
   do
   	tar -czf "/mnt/backup/1day/$dirName.tgz" "/mnt/info/$dirName"
   done

Пробовал и `ls -Q` но "for" всё равно разбивает подкаталоги. Например для
подкаталога "Отдел учетов" получаются пустые Отдел.tgz и учётов.tgz. Может
есть возможность это обойти?



  Вообще-то
	apt-get install abs-guide

  А там читать:

# In bash you can change the input field separator to handle
# filenames with blank  space in them. It's best used in a
# script like this: IFS=$'\t\n'
# This changes IFS to only trigger on tabs and newlines.

так что IFS=$'\t\n' в начале скрипта спасёт :)

 Юра

 p.s. man bash на предмет IFS тоже помогает

Reply to: