我運行下面的命令來搜索文本文件,並顯示一個漂亮的輸出:猛砸別名與參數失敗
$ grep -rnI "SEARCHTERM" . | sed 's/\:\s\+/\:\n/g'
./path/filename.php:LINENUMBER:
This line contains SEARCHTERM
但是當我嘗試運行它作爲一個別名,我得到一個錯誤:
$ alias lookfor="grep -rnI '\\!^' . | sed 's/\:\s\+/\:\n/g'"
$ lookfor SEARCHTERM
sed: can't read SEARCHTERM: No such file or directory
任何想法爲什麼我的別名失敗?我敢肯定這是某種引用問題...
什麼是「$ @」的呢?它是否等同於.bashrc中的$ PWD?另外,當我做這樣的事情時,這個腳本似乎並沒有工作(它一直在等待搜索路徑):function igrep(){grep -r $ 1「$ @」| grep -v「.svn」;} – Arpith
''$ @「'代表」替換所有賦給命令的參數「。因爲'$ @'在引號中,所以也意味着「如果需要引用,請正確引用每個引號」。 EG,如果您鍵入「lookfor」foo bar「baz」,則「foo bar」baz(包括引號)將傳遞給grep命令。 (它在實現上稍微複雜一些,但你仍然可以這樣思考)。 –