【发布时间】:2012-04-11 13:01:53
【问题描述】:
我想做以下事情
awk 'BEGIN {FS=" ";} {printf "'%s' ", $1}'
但是以这种方式转义单引号不起作用
awk 'BEGIN {FS=" ";} {printf "\'%s\' ", $1}'
如何做到这一点?感谢您的帮助。
【问题讨论】:
-
许多语言通过将其中两个放在一行来转义引号,也许可以尝试一下。
-
我试过 awk 'BEGIN {FS=" ";} {printf "''%s'' ", $1}',但没有打印单引号。
-
This Page 表示不可能在单引号字符串中包含单引号。也许您必须转换为双引号。
-
不可能,但是 两个 相邻的单引号 shell 字符串粘合在一起成为一个参数。由非空白字符粘合的两个单引号外壳字符串也粘合成一个大球:
'abc'd'ef'是abcdef:文字加上d加上文字。d在引号之外,您可以将d替换为\'以生成'abc'\''ef',其计算结果为abc'ef。
标签: awk