2013-11-29 54 views
0

我已經發布了一個關於此的問題,但現在我明白了這個問題,因此想要重新發布。 *字符在我的csh腳本中沒有放在雙引號中時正確解釋,但是當我把它放在雙引號中時,它沒有正確解釋。有誰知道如何讓csh正確解釋*字符。以下是我的代碼:重複字符不能在grep中用csh加雙引號

#!/bin/csh 
#set ans=`grep -E hello\*i ~/wildcard/helloi.txt` 
set ans=`grep -E "hello\*i" ~/wildcard/helloi.txt` 
echo $ans 

評論設置的ans工作正常,但未註釋的人沒有。輸入文件包含以下內容:

helloiif 
helli 
helloi 

應打印所有3個。

回答

0

選項1(帶引號,逃生*

grep -E "hello*i" ~/wildcard/helloi.txt 

選項2(不帶引號,必須逃脫*

grep -E hello\*i ~/wildcard/helloi.txt 

雙引號內,csh 總是擴展它所知道的東西,如*$等。