Dan*_*yRe 2 shell alias function
我想使用 awk 快捷方式作为函数,这样我就可以传递列号,然后打印输出。我的别名是:
alias A="| awk '{print \$1}'
alias G="| grep -i'
Run Code Online (Sandbox Code Playgroud)
代替打字:
ps -ef | grep mysql | awk 'print $2'
Run Code Online (Sandbox Code Playgroud)
我希望能够输入以下内容:
ps -ef G mysql A 2
Run Code Online (Sandbox Code Playgroud)
有什么建议么?
我认为这是不可能的。基本上,别名不能接受参数 ( $1
),函数不能进行宏扩展 ( |
)。
我能想到的最接近的选择:
在bash
或zsh
C() { col=$1; shift; eval "awkcmd='{ print \$$col }'"; echo "$awkcmd"; "$@" | awk "$awkcmd"; }
C 2 ps -ef G mysql
Run Code Online (Sandbox Code Playgroud)
在zsh
alias -g F="| tr -s '[[:space:]]' | cut -d ' ' -f"
ps -ef G mysql F 2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1506 次 |
最近记录: |