如何在别名中的 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 命令中转义字段变量?的主要内容,如果未能解决你的问题,请参考以下文章