如何在别名中逃避管道中的grep和awk?

Luc*_*cas 2 bash awk grep alias pipe

我想为一个长命令创建一个别名.但是我无法正确地逃避它,我想这是管道的问题.

我原来的命令

ps aux | grep gimp | awk '{ print $2 '\011' $11 }' | grep -v 'grep'
Run Code Online (Sandbox Code Playgroud)

我尝试别名

alias psa="ps aux | grep $1 | awk '{ print \$2 \"\011\" \$11 }' | grep -v 'grep'"
Run Code Online (Sandbox Code Playgroud)

但我得到一个grep无法打开文件的错误foo(当我这样做psa foo)
当我删除最后一部分| grep -v 'grep'然后awk抛出相同的错误.

我更喜欢shell脚本之前的别名.

Bar*_*mar 7

如果要插入参数,则需要使用函数:

psa() {
    ps aux | grep "$1" | awk '{print $2 "\t" $11 }' | grep -v grep
}
Run Code Online (Sandbox Code Playgroud)