powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / lackware 11/bash скрипт: проблема с именами, включающими про
4 сообщений из 4, страница 1 из 1
lackware 11/bash скрипт: проблема с именами, включающими про
    #34615005
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Имеется баш скрипт для генерации черновых *.dcf контент файлов для Qt
Assistant 4. (Сканнирует текущий каталог на предмет html, выкусывает из них
sed'ом заголовки и печатает это все в stdout:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
#!/bin/bash
#description:
#makes draft *.dcf file for qt assistant
#from a tree of html documents.

files=`find ./ -iname "*.htm*"`

echo "<assistantconfig version=\"3. 2 . 0 \">"
#first= 0 
for i in $files;
do
    title=`sed -n 's/.*<title>\(.*\)<\/title>.*/\1/ip;T;q' "$i"`;
    if [[ first -eq  0  ]]; then
        echo "  <DCF ref=\"$i\" title=\"$title\">"
    fi
    echo "              <section ref=\"$i\" title=\"$title\"/>"
    first= 1 
done
echo "  </DCF>"
echo "</assistantconfig>"
Так вот, эту штуку клинит, если в именах файлов, возвращаемых find есть
пробелы, так как for..in разбивает тест именно по пробелам. Т.е. если в
каталоги будет документ "./big document.html", то сначала оно пытается
открыть "./big" а потом "document.html". Как это можно исправить для
данного скрипта? (например, как каждую строчку из find заключить в
кавычки?) Насколько я понял, из флагов find только -ls обрабатывает
пробелы и прочие сиvволы перед которыми надо ставить \ . Проблема в том,
что с -ls текст выводиться в 9 колонок, и последнюю колонку awk'ом выкусить
не удается, так как там пробелы :). Как это решить?
Спасибо.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
lackware 11/bash скрипт: проблема с именами, включающими про
    #34615070
Фотография Ося
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ErV

see field separator in the bash advanced scripting guide...

PS no offence, just a little of promille
...
Рейтинг: 0 / 0
lackware 11/bash скрипт: проблема с именами, включающими про
    #34615075
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося wrote:

> see field separator in the bash advanced scripting guide...
Ок, спасибо.

> PS no offence, just a little of promille
Никаких проблем, ведь указатель направления есть :) Это ведь часть идеологии
системы, как никак :)

Вопрос закрыт.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
lackware 11/bash скрипт: проблема с именами, включающими про
    #34615077
ErV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ося wrote:

> see field separator in the bash advanced scripting guide...
Добавил IFS=$'\x0A'.
заработало. Спасибо :)
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / lackware 11/bash скрипт: проблема с именами, включающими про
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]