[英]How to escape grep and awk within pipe in an alias?
我想為一個長命令創建一個別名。 但是我無法正確地逃避它,我想這是管道的問題。
我原來的命令
ps aux | grep gimp | awk '{ print $2 '\011' $11 }' | grep -v 'grep'
我嘗試別名
alias psa="ps aux | grep $1 | awk '{ print \$2 \"\011\" \$11 }' | grep -v 'grep'"
但是我得到一個錯誤, grep
無法打開文件foo
(當我做psa foo
)
當我刪除最后一部分| grep -v 'grep'
| grep -v 'grep'
然后awk
拋出同樣的錯誤。
我更喜歡shell腳本之前的別名。
如果要插入參數,則需要使用函數:
psa() {
ps aux | grep "$1" | awk '{print $2 "\t" $11 }' | grep -v grep
}
您可以使用以下函數來避免所有轉義:
myps() {
ps aux | grep gimp | awk '{ print $2 "\011" $11 }' | grep -v 'grep'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.