если в бэше сказать
# find $dir -name *[A-Z]* | sed 's/\ /\\ /g'
то получается красивая картинка с экранированными пробелами.
/home/ed2k/temp/Femme\ Fatale\ ShareReactor.ru.avi
/home/ed2k/temp/Ghost\ World\ ShareReactor.ru.avi
/home/ed2k/temp/Chelsea\ Walls\ ShareReactor.ru.avi
если же написать скрипт
#!/bin/bash
for file in `find $dir -name *[A-Z]* | sed 's/\ /\\ /g'` ; do
echo $file
done
то он выдаст
/home/ed2k/temp/Femme
Fatale
ShareReactor.ru.avi
/home/ed2k/temp/Ghost
World
ShareReactor.ru.avi
/home/ed2k/temp/Chelsea
Walls
ShareReactor.ru.avi
и с этим в цикле нельзя работать, так как файл оказывается кучей переменных. как это можно победить?
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум ImageMagic. Ещё одна проблема с пробелами. (2012)
- Форум Как правильно экранировать имя файла для дальнейшей работы с ним в скрипте? (2017)
- Форум Архивирование подкаталогов (2018)
- Форум tar не обрабатывает файл с пробелами и без раширения (2015)
- Форум Поместить имена файлов в массив bash (2015)
- Форум cron, bash непонятки (2005)
- Форум Добавить кавычки в значение переменной (2018)
- Форум Ошибка синтаксиса (2012)
- Форум Не работает скрипт... (2004)
- Форум всемогущий sed (2017)