首页 > 解决方案 > awk 命令的别名

问题描述

如何为 awk 命令创建别名

awk '{$1="";$2="";$3="";$4="";$5="";print}'

在 tcshrc 中?

我试过这样:

alias crd='awk '\''{$1=\"\";$2=\"\";$3=\"\";$4=\"\";$5=\"\";print}'\'''

但没有工作

标签: awktcshquoting

解决方案


你的问题可能只是你的反斜杠手指太重了。单引号字符串中的双引号不需要转义,除非它们是单引号内的双引号字符串的一部分。

但也可能是您将bash alias命令与tcsh alias命令混淆了。Bash 表示法如下所示:

alias thing=command

而 tcsh 看起来像:

alias thing command

注意细微的差别。:-)

以下对我没有错误:

% alias crd 'awk '\''{$1="";$2="";$3="";$4="";$5="";print}'\'''

别名甚至似乎是有用的:

% seq -s\  1 8 | crd
     6 7 8

如果您的目标实际上是删除列而不仅仅是使内容无效,您可能还会发现此答案很有用。


推荐阅读