The OpenNET Project / Index page

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

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

"AWK: как напечатать кавычку?"  
Сообщение от stakado email(ok) on 05-Июн-07, 12:04 
Доброго дня!
Собсна сабж :)

Подскажите, плиз, как сделать так, что бы результатом вывода awk была кавычка:
echo "qqq" | awk '{ ... }' ---- "qqq" (т.е. именно в кавычках). awk кавычку понимает как свой спецсимвол для распечатки текста, \" тоже не понимает.

Подскажите, плиз.

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

 Оглавление

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


1. "AWK: как напечатать кавычку?"  
Сообщение от stas (??) on 05-Июн-07, 12:18 
>Доброго дня!
>Собсна сабж :)
>
>Подскажите, плиз, как сделать так, что бы результатом вывода awk была кавычка:
>
>echo "qqq" | awk '{ ... }' ---- "qqq" (т.е. именно в
>кавычках). awk кавычку понимает как свой спецсимвол для распечатки текста, \"
>тоже не понимает.
>
>Подскажите, плиз.
Я когда-то писал в скрипте так:
{printf("INSERT INTO traffic(ip,bytes,time) VALUES(\x27%s\x27,\x27%s\x27,\x27%s\x27);\n",ip,$3,tm)}
Кавычка ' - это \x27. Для Вашей консоли это может быть другая последовательность.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "AWK: как напечатать кавычку?"  
Сообщение от vic (??) on 05-Июн-07, 12:38 
>>Доброго дня!
>>Собсна сабж :)
>>
>>Подскажите, плиз, как сделать так, что бы результатом вывода awk была кавычка:
>>
>>echo "qqq" | awk '{ ... }' ---- "qqq" (т.е. именно в
>>кавычках). awk кавычку понимает как свой спецсимвол для распечатки текста, \"
>>тоже не понимает.
>>
>>Подскажите, плиз.
>Я когда-то писал в скрипте так:
>{printf("INSERT INTO traffic(ip,bytes,time) VALUES(\x27%s\x27,\x27%s\x27,\x27%s\x27);\n",ip,$3,tm)}
>Кавычка ' - это \x27. Для Вашей консоли это может быть другая
>последовательность.

Есть другой вариант
$ echo "qqq" | awk '{ printf( "first " sq "%s" sq "\n", $1); print "second " dq $1 dq }' sq="'" dq='"'
first 'qqq'
second "qqq"

т.е. в данном случае определяем две awk-переменных и потом их используем:
sq - одинарная кавычка
dq - двойная

p.s. в примере показано использование как print так и printf

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

3. "AWK: как напечатать кавычку?"  
Сообщение от perece on 05-Июн-07, 13:39 
bash$ awk 'BEGIN {printf("\"\n")}'
"
bash$

не знаю, какие у вас проблемы...

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

4. "AWK: как напечатать кавычку?"  
Сообщение от stakado email(ok) on 05-Июн-07, 14:14 
>bash$ awk 'BEGIN {printf("\"\n")}'
>"
>bash$
>
>не знаю, какие у вас проблемы...

не, проблем нема, совет был нужен. Спасибо, помогли.

Еще вопросик такой:
есть файлик:
qqq    | bbbb |      vvvv
Можно ли заставить awk убрать лишние пробелы, которые идут до разделителя?

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

5. "AWK: как напечатать кавычку?"  
Сообщение от perece on 06-Июн-07, 15:17 
>есть файлик:
>qqq    | bbbb |      
>vvvv
>Можно ли заставить awk убрать лишние пробелы, которые идут до разделителя?
а те, что после разделителя - оставить?
awk 'BEGIN {FS="|";OFS="|"} {for(i=1;i <= NF; i++){sub("  *$","",$i)} print}'
(можно еще добавить sub("^  *","",$i) если те, что после тож надо убирать)

\^P^/

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

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

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




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

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