Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell 如何在awk命令中重写单个倒逗号_Shell_Unix - Fatal编程技术网

Shell 如何在awk命令中重写单个倒逗号

Shell 如何在awk命令中重写单个倒逗号,shell,unix,Shell,Unix,如何在awk命令中重写单个倒逗号 cat a.txt |awk '{print "Students name is '"$1"'"}' 我希望输出如下: Students name is 'Rajeev' 使用以下命令: awk -v q="'" '{print "Students name is " q $1 q}' 使用以下命令: awk -v q="'" '{print "Students name is " q $1 q}' 您可以对输出中所需的每个单引号使用“” 第一个引号结束

如何在
awk
命令中重写单个倒逗号

cat a.txt |awk '{print "Students name is '"$1"'"}'
我希望输出如下:

Students name is 'Rajeev'
使用以下命令:

awk -v q="'" '{print "Students name is " q $1 q}'
使用以下命令:

awk -v q="'" '{print "Students name is " q $1 q}'
您可以对输出中所需的每个单引号使用

第一个引号结束单引号字符串。然后我们开始一个双引号字符串,它简单地扩展为一个单引号。然后,我们为命令的其余部分输入一个新的单引号字符串

由于字符串之间没有空格,bash将它们串在一起。i、 e.
“a”'b'
“ab”
“ab”
您可以对输出中所需的每个单引号使用
“'”

第一个引号结束单引号字符串。然后我们开始一个双引号字符串,它简单地扩展为一个单引号。然后,我们为命令的其余部分输入一个新的单引号字符串

由于字符串之间没有空格,bash将它们串在一起。i、 e.
“a”'b'
“ab”
“ab”
相同。您可以执行以下操作:

echo ff | awk $'{print "Students name is \'" $1 "\'" }'
对形式为$'string'的单词进行特殊处理。单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符。反斜杠转义序列(如果存在)解码如下:

  \\     backslash
  \'     single quote
  \"     double quote
  \n     new line
  ...
如前所述,您可以执行以下操作:

echo ff | awk $'{print "Students name is \'" $1 "\'" }'
对形式为$'string'的单词进行特殊处理。单词扩展为字符串,并按照ANSI C标准的规定替换反斜杠转义字符。反斜杠转义序列(如果存在)解码如下:

  \\     backslash
  \'     single quote
  \"     double quote
  \n     new line
  ...

如前所述

为了避免逃避其他技巧,您可以使用它的八进制表示法,如下所示:

$ awk 'BEGIN{print "\047"}'
'
因此:


为了避免逃避其他技巧,您可以使用它的八进制表示法,如下所示:

$ awk 'BEGIN{print "\047"}'
'
因此:


谢谢你的提问!谢谢你的提问!