如何在awk
命令中覆盖单个倒置的逗号。
cat a.txt |awk '{print "Students name is '"$1"'"}'
我想要输出如下:
Students name is 'Rajeev'
答案 0 :(得分:2)
使用此:
awk -v q="'" '{print "Students name is " q $1 q}'
答案 1 :(得分:1)
您可以对输出中所需的每个单引号使用'"'"'
。
第一个引号结束单引号字符串。然后我们启动一个双引号字符串,它只是扩展为单引号。然后我们为命令的其余部分输入一个新的单引号字符串。
由于字符串之间没有空格,bash会将它们串在一起。即"a"'b'
与"ab"
或'ab'
答案 2 :(得分:1)
你可以这样做:
echo ff | awk $'{print "Students name is \'" $1 "\'" }'
$'string'形式的单词是专门处理的。单词扩展为字符串,替换为ANSI C标准指定的反斜杠转义字符。反斜杠转义序列(如果存在)按如下方式解码:
\\ backslash
\' single quote
\" double quote
\n new line
...
正如here
所解释的那样答案 3 :(得分:1)
为了避免逃避其他技巧,你可以使用它的八进制表示,如:
$ awk 'BEGIN{print "\047"}'
'
所以:
$ awk '{print "Students name is \047"$1"\047"}' a.txt