|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Yuriy Kaminskiy 2:5020/517.21 12 Dec 2001 03:10:10 To : Aleksey Barabanov Subject : Re: file + awk => mysql -------------------------------------------------------------------------------- >>>>> On 00:01 11/12/2001, alekseybb@mtu-net.ru writes: >> > #cat file | awk '{print "INSERT INTO tbl_name (login,password) >> > VALUES(",\",$1,\",",",\",$2,\",")",\;}' > test >> > AB> Очень остроумно. Классная идея ! Особенно если задуматься о том, AB> что awk фильтрует внешнюю таблицу... AB> Ответ прост - \042 двойные кавычки - ", а \047 - одинарные - '. AB> Почему не срабатывает простое запирание типа \" или \' сам не AB> пойму Ж( Все прекрасно работает. Разумеется, \" или \' должно входить в строку ("..."), и нужно не забывать про шелл. Примеры ({ba,k,a,}sh & awk): awk 'BEGIN { print "'\''Single quoted'\''" }' awk "BEGIN { print \"'Single quoted'\" }' # don't forget escape ",$,... awk 'BEGIN { print "\47Single quoted\47" }' awk 'BEGIN { print "\"Double quoted\"" }' awk "BEGIN { print \"\\\"Double quoted\\\"\" }" # don't forget escape ",$,... awk "BEGIN { print \"\42Double quoted\42\" }" # don't forget escape ",$,... awk "BEGIN { print \"\\42Double quoted\\42\" }" # don't forget escape ",$,... В zsh с setopt RC_QUOTES можно и так: awk 'BEGIN { print "''Single quoted''" }' Просто на awk (без *sh): === cut === #!/bin/awk -f BEGIN { print "'Single quoted'" } === cut === #!/bin/awk -f BEGIN { print "\'Single quoted\'" } === cut === #!/bin/awk -f BEGIN { print "\"Double quoted\"" } === cut === AB> Hо такова ви с awk. -- Yuriy Kaminskiy. --- Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Cuyahoga Valley) * Origin: none (2:5020/517.21@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/174278072557f.html, оценка из 5, голосов 10
|