Eu não acho que seja possível. Basicamente, os aliases não podem receber argumentos ( $1
) e as funções não podem fazer a expansão da macro ( |
).
As opções mais próximas em que consigo pensar:
em bash
ou zsh
C() { col=$1; shift; eval "awkcmd='{ print \$$col }'"; echo "$awkcmd"; "$@" | awk "$awkcmd"; }
C 2 ps -ef G mysql
em zsh
alias -g F="| tr -s '[[:space:]]' | cut -d ' ' -f"
ps -ef G mysql F 2