2017-08-03 16 views
-1

がない場合、私は、ファイル内の次の文字列を持っている:印刷文字列のみ単一のアスタリスク記号の正規表現

check.test1[*] 
othercheck.sometest[*] and so on 

を角括弧は、アスタリスク以外何かが含まれている場合、私はしたい - などの文字列を印刷しますが、ただそこにある場合アスタリスクはその文字列を出力しません。例えば

check.test1[*,131] - print such string as long as it contains digits and comma 
    check.test2[a,bc,,*,777] - print such string as long as it contains letters,commans and digits. 
    check.test2[* ] - print such string as long as it contains 1 space. 
    check.test[*] - do not print such string as long as there is only asterisk. 

私はバッシュでそれをやってみたいです。 助けてくれますか?

答えて

1

この部分は、リバースgrep検索を使用します。

data.fileは含まれています

check.test1[*,131] 
    check.test2[a,bc,,*,777] 
    check.test2[* ] 
    check.test[*] 

ちょうど実行:出力付き

grep -v '\[\*\]' /path/to/data.file 

check.test1[*,131] 
    check.test2[a,bc,,*,777] 
    check.test2[* ] 
+0

はどうもありがとうございました!それはまさに私が必要なものです! – user54

関連する問題