今天gary碰到的问题, 呵呵, 想在awk中输出一些sql语句, 比如insert into t_test_no values (date_format(%s, %Y-%m-%d), %d, 'Y');
在awk 中, 输出格式控制串, 需要在%号前加多一个百分号, "要打印百分号就必须在控制串中给出两个百分号"
打印单引号:
法1. awk "BEGIN{printf \"'\"}"
法2. awk 'BEGIN { print " '\'' " }' 说明:使用单引号''括住\'
法3. awk 'BEGIN { printf "%c\n", 047 }' 说明:'的八进制值为047
法4. awk 'BEGIN{ printf "\047\n" }'
比如说打印insert into t_test_no values (date_format(%s, %Y-%m-%d), %d, 'Y'); :
awk 'BEGIN{ printf "insert into t_test_no values (date_format(%%s, %%Y-%%m-%%d), %%d, '\''Y'\'');\n"}'
PS: 在sed中, 如果是使用''来给sed传递参数, 如果参数中有带单引号的 , 如, 把字符串中的单引号去掉: echo "'192.168.80.188'" | sed 's/'\'''//g' , 也需要这样使用 '\''
阅读(2475) | 评论(0) | 转发(0) |