Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1455337
  • 博文数量: 263
  • 博客积分: 10851
  • 博客等级: 上将
  • 技术积分: 2627
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-26 22:40
文章分类

全部博文(263)

文章存档

2013年(4)

2012年(25)

2011年(33)

2010年(50)

2009年(138)

2008年(13)

分类: LINUX

2009-06-01 16:24:10

    今天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' ,  也需要这样使用 '\''
阅读(2433) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~