有个文本文件,文件名为bufls,其内容如下:
drwxrwsrwx gprs 512 GPRS-rw-r----- lc 21307 K0918531.000
我现在想用awk将第三个域用单引号括取来,shell脚本如下:
#!/bin/sh#tmptmp.shcat 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}"