如何在别名中的 awk 命令中转义字段变量?

Posted

技术标签:

【中文标题】如何在别名中的 awk 命令中转义字段变量?【英文标题】:How do I escape a field variable in an awk command in an alias? 【发布时间】:2011-03-07 20:06:06 【问题描述】:

这是一个文件的内容:

one two three
four five six

这是我的别名

alias testawk "awk 'print $2' file"

这是我得到的:

> testawk
one two three
four five six

但是当我给出这个命令时,我得到了我想要的:

> awk 'print $2' file
two
five

如何转义别名中的字段说明符?注意:我正在使用 csh

【问题讨论】:

这里解释一下处理csh meta-chars grymoire.com/Unix/Csh.html#uh-7 \$ 在 bash 中工作,但 csh 有点挑剔。 【参考方案1】:

' 包装别名,并使用'\'' 嵌入'

alias testawk 'awk '\''print $2'\'' file'

【讨论】:

我没有看到你先使用 csh。这个更正的答案应该对你有用。 谢谢。我讨厌所有那些 csh 的小怪癖。太糟糕了,我不得不在我的工作中使用它。

以上是关于如何在别名中的 awk 命令中转义字段变量?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 ssh / 远程 bash 命令中转义单引号字符?

如何在 CSV 文件中的公式中转义逗号

如何在 MSBuild 的 Exec 命令中转义引号

vue.js:如何在转义内容中转义变量

如何在字符串变量中转义引号? [复制]

如何在jQuery变量中转义单引号