The OpenNET Project / Index page

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

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

"Как убрать двойные кавычки средствами AWK?"  +/
Сообщение от universite email(ok) on 26-Мрт-14, 03:21 
Есть кусок скрипта, формирующих два столбца $7"\t"$11


...
awk -v error_code=404 \
    '( ($9 == error_code) && $11 !~ /"-"/ ) {print $7"\t"$11;}' $input | more
...

Проблема в том, что надо $11 обработать, убрать двойные кавычки (") в начале и в конце.
В средине столбца могут быть несколько кавычек...

Ответить | Правка | Cообщить модератору

Оглавление

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


1. "Как убрать двойные кавычки средствами AWK?"  +/
Сообщение от михалыч (ok) on 26-Мрт-14, 05:47 
>[оверквотинг удален]
>
 
> ...
> awk -v error_code=404 \
>     '( ($9 == error_code) && $11 !~ /"-"/
> ) {print $7"\t"$11;}' $input | more
> ...
>

> Проблема в том, что надо $11 обработать, убрать двойные кавычки (") в
> начале и в конце.
> В средине столбца могут быть несколько кавычек...

echo test \"te\"xt\" | awk '{sub(/^"/,"",$2);sub(/"$/,"",$2);print $2}'

{sub(/^"/,"",$11);sub(/"$/,"",$11); print $7"\t"$11;}

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как убрать двойные кавычки средствами AWK?"  +/
Сообщение от Andrey Mitrofanov on 26-Мрт-14, 09:55 
>| awk '{sub(/^"/,"",$2);sub(/"$/,"",$2);

gsub("^\"|\"$","",$2)
gsub(/^"|"$/,"",$2)

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Как убрать двойные кавычки средствами AWK?"  +/
Сообщение от михалыч (ok) on 26-Мрт-14, 12:02 
>>| awk '{sub(/^"/,"",$2);sub(/"$/,"",$2);
> gsub("^\"|\"$","",$2)
> gsub(/^"|"$/,"",$2)

блин, ну конечно! слона то я и не заметил ))

gsub действует также как и sub, кроме этого заменяет все вхождения регулярного выражения
плохо, когда не знаешь, да ещё и забудешь ))
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как убрать двойные кавычки средствами AWK?"  +/
Сообщение от universite email(ok) on 26-Мрт-14, 12:16 
>>| awk '{sub(/^"/,"",$2);sub(/"$/,"",$2);
> gsub(/^"|"$/,"",$2)

Благодарю, работает.


Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

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

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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