专注各种脚本编程
Baidu
加入收藏夹
本站内容有下面分类知识,欢迎您的到来^_^
shell相关:指令篇 基础篇 脚本欣赏 编程实例 shell问问 shell视频教程 技巧篇 水平测试 E文资料 vi编辑器 高级Bash脚本编程指南
其他:mysql perl c语言 oracle
当前位置:| 主页>shell技巧/应用篇>

解决去掉awk中单引号的特殊性问题

百度收藏 QQ搜藏

有个文本文件,文件名为bufls,其内容如下:

drwxrwsrwx  gprs       512  GPRS
-rw-r-----  lc       21307  K0918531.000

我现在想用awk将第三个域用单引号括取来,shell脚本如下:

#!/bin/sh
#tmptmp.sh
cat bufls | awk '{
printf "%s %s \'%s\' %s\n",$1,$2,$3,$4
}'

但是并不能打印出',怎么才能去掉单引号的特殊性并打印出来的,help,thank!

---------------问题解疑-----------------------
在‘’里\,`,$都被看成普通字符。所以,用转义符是无效的。
可以这样写,注意应该在$前加\。:

awk "{printf \"%s %s '%s',%s\n\",\$1,\$2,\$3,\$4}"

上一篇:巧用反引变列为行 下一篇:加密shell、perl等脚本的方法

power by soyo123 2007-2008