簡體   English   中英

如何使用參數創建grep別名

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM