awk 打印 ' 字符

Nir*_*Nir 3 shell awk quoting

我想打印:

cat file.log | awk '{print nir's $1}'
Run Code Online (Sandbox Code Playgroud)

输出应该是:

nir's aaa
nir's bbb
nir's abc
nir's dbc
Run Code Online (Sandbox Code Playgroud)

问题在于'in nir's

我也试过:

cat file.log | awk '{print nir\'s $1}'
cat file.log | awk '{print nir''s $1}'
cat file.log | awk '{print nir'''s $1}'
Run Code Online (Sandbox Code Playgroud)

Chr*_*own 8

这里有两个问题:

  1. 您不能通过'inside ',您也使用它来引用 awk 语法。你需要先离开报价;
  2. 您需要在 awk 中引用字符串。

看起来这就是你想要的:

awk '{print "nir'\''s " $1}'
Run Code Online (Sandbox Code Playgroud)


Fra*_*era 5

这应该有效:

cat file.log | awk '{print "nir\047s " $1}'
Run Code Online (Sandbox Code Playgroud)