在 awk 输出单引号的四种方式

题目
用 awk 输出文本:single quote'

方式1:双引号中带单引号

awk 'BEGIN { print "single quote'" }'

方式2:单引号中带单引号

awk "BEGIN { print \"single quote'\''\" }"

方式3:使用八进制转义

awk 'BEGIN { print "single quote\47" }'

方式4:使用变量(本例为q)

awk -v q="'" 'BEGIN { print "single quote"q }'

小结

  1. 单引号内的内容不被 shell 扩展,是什么就输出什么;
  2. 在单引号内嵌入另一个用单引号引用的文本,是不可能实现的;
  3. shell 中的 $\"` 都是有特殊含义的,作文本输出时,应该用 反斜杠 转义;
  4. 当双引号或单引号容易混淆时,可以用八进制序列进行转义。

你可能感兴趣的:(日常小问题,Linux,awk,shell,单引号,引号,转义)