[英]How to create grep alias with arguments
可以說我有這個搜索詞:
grep -i -r --include=*.xib "img_28301.png" ./
我將如何創建一個允許我執行此操作的別名:
xibsearch img_28301.png
並做同樣的事情?
具有此功能將更加清潔:
xibsearch() {
grep -i -r --include=*.xib "$1" ./
}
由於別名不支持位置參數。
正如@anubhava指出的那樣,函數通常是到達此處的方式。
但是,在這種情況下,如果您確實必須使用別名,則可以如下重新排列grep:
alias xibsearch='grep -i -r --include=*.xib -f - ./ <<<'
該-f -
告訴grep來使用表達式從一個文件,但由於thew文件下面是-
則表達式從標准輸入讀取。 然后,我們使用bash here-string將字符串的內容重定向到stdin。 這允許將grep表達式放置在命令的末尾,這就是別名工作所需的條件。
因此,如果您致電:
xibsearch img_28301.png
別名將解析為以下命令:
grep -i -r --include=*.xib -f - ./ <<< img_28301.png
如果我是您,我會使用該功能;-)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.