The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблема со спецсимволами и переносами строк"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(??) on 26-Июн-07, 06:39 
Имеем:

printf " <VirtualHost \\\n >> $file
printf "                        69.159.46.73:80 \\\n" >> $file
...

Нужно получить файл с:


<VirtualHost \
                  69.159.46.73:80 \
...

Есть идеи, как это сделать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Проблема со спецсимволами и переносами строк"  
Сообщение от NuINu (??) on 26-Июн-07, 09:33 
>Имеем:
>
 
>printf " <VirtualHost \\\n >> $file
>printf "                        69.159.46.73:80 \\\n" >> $file
>...
>

>
>Нужно получить файл с:
>
 
><VirtualHost \
>            
>      69.159.46.73:80 \
>...
>

>
>Есть идеи, как это сделать?
хм, вот так подойдет?
name=test1.txt

echo " <VirtualHost \\" >> $name
echo "              69.159.46.73:80 \\" >> $name

или ты некий код собираешься на шеле парсить и интерпретировать?


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(ok) on 26-Июн-07, 17:00 

>echo " <VirtualHost \\" >> $name
>echo "              69.159.46.73:80 \\" >> $name

тогда мне для второй строчки надо отступы....

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Проблема со спецсимволами и переносами строк"  
Сообщение от idle (ok) on 26-Июн-07, 10:43 
>Имеем:
>
 
>printf " <VirtualHost \\\n >> $file
>printf "                        69.159.46.73:80 \\\n"
>...
>

>
>Нужно получить файл с:
>
 
><VirtualHost \
>            
>      69.159.46.73:80 \
>...
>

>
>Есть идеи, как это сделать?
printf " <VirtualHost \\\n\t\t69.159.46.73:80 \\\n" >> $file

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(ok) on 26-Июн-07, 16:29 

>>Есть идеи, как это сделать?
>printf " <VirtualHost \\\n\t\t69.159.46.73:80 \\\n" >> $file

Получим:


<VirtualHost \n                69.159.46.73:80 \n

Еще раз повторяю, вновь созданный файл еще будет парсить с десяток внешних скриптов, и любое отклонение в синтаксисе может привести к неработе.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Проблема со спецсимволами и переносами строк"  
Сообщение от NuINu (??) on 26-Июн-07, 16:41 
>
>>>Есть идеи, как это сделать?
>>printf " <VirtualHost \\\n\t\t69.159.46.73:80 \\\n" >> $file
>
>Получим:
>
 
><VirtualHost \n          
>     69.159.46.73:80 \n
>

>
>Еще раз повторяю, вновь созданный файл еще будет парсить с десяток внешних
>скриптов, и любое отклонение в синтаксисе может привести к неработе.

вы тут вообще какой язык обсуждаете? %)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(ok) on 26-Июн-07, 17:02 

>вы тут вообще какой язык обсуждаете? %)

В заголовке темы я указал - Shell скрипты.
А вы что подумали?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Проблема со спецсимволами и переносами строк"  
Сообщение от NuINu (??) on 26-Июн-07, 17:44 
>
>>вы тут вообще какой язык обсуждаете? %)
>
>В заголовке темы я указал - Shell скрипты.
>А вы что подумали?

да так, просто printf в разных языках встречается :)
ну и тогда чем вас эхо не устраивает? у меня вроде выводит то что вам надо.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(ok) on 26-Июн-07, 17:47 

>да так, просто printf в разных языках встречается :)
>ну и тогда чем вас эхо не устраивает? у меня вроде выводит
>то что вам надо.

Табы в эхо тоже пашут?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Проблема со спецсимволами и переносами строк"  
Сообщение от jd (??) on 26-Июн-07, 19:15 
>Табы в эхо тоже пашут?

Если с ключём -e, то echo должно \t понимать. Или вы о чём? Вообще, чем вам ваш собственный вариант с printf не нравится?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(ok) on 26-Июн-07, 19:37 
>>Табы в эхо тоже пашут?
>
>Если с ключём -e, то echo должно \t понимать. Или вы о
>чём? Вообще, чем вам ваш собственный вариант с printf не нравится?
>
Так не работает printf!
Больше двух символов "\" он игнорирует.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite (ok) on 26-Июн-07, 23:01 
>>>Табы в эхо тоже пашут?
>>
>>Если с ключём -e, то echo должно \t понимать.

Этим и обошлось. Топик считать закрытым.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Проблема со спецсимволами и переносами строк"  
Сообщение от jd (??) on 27-Июн-07, 06:19 
>Так не работает printf!
>Больше двух символов "\" он игнорирует.

Да ничего он не игнорирует... Просто в приведённом в самом начале примере кода используются двойные кавычки и шелл обрабатывает бэкслэши внутри них. Надо писать либо

printf ' <VirtualHost \\\n' >> $file
printf '                        69.159.46.73:80 \\\n' >> $file

либо

printf " <VirtualHost \\\\\\n" >> $file
printf "                        69.159.46.73:80 \\\\\\n" >> $file

Первый вариант понятнее, второй нужен, если внутри вывода есть переменные, которые нужно разыменовать.

А вообще, вопрос сформулирован как-то... долго не мог понять, в чём собственно проблема.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Проблема со спецсимволами и переносами строк"  
Сообщение от universite email(ok) on 27-Июн-07, 06:52 
>>Так не работает printf!
>>Больше двух символов "\" он игнорирует.
>
>Да ничего он не игнорирует... Просто в приведённом в самом начале примере
>кода используются двойные кавычки и шелл обрабатывает бэкслэши внутри них. Надо
>писать либо

>printf " <VirtualHost \\\\\\n" >> $file
>printf "                        69.159.46.73:80 \\\\\\n" >> $file

Спасибо, сделал себе заметку.
Но скрипт уже сдал, используя echo -e

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру