2009-07-21 18 views
1

Ich habe die folgenden Zeilen in einer Dateien haben:Regex Linien erhalten, die kein Wort

a class="rss tip" rel="direct" title="Linq2Sql" href="http://feeds2.feedburner.com/pippo_ORM"></a> 
a class="rss tip" title="ORM" href="http://feeds2.feedburner.com/pippo_ORM" rel="nofollow"></a> 
a class="rss tip" rel="boh" title="Nhibernate" href="http://feeds2.feedburner.com/pippo_ORM"></a> 
a class="rss tip" rel="direct" title="Linq2Sql" href="http://pippo.it/pippo_ORM"></a> 
a class="rss tip" title="Linq2Sql" href="http://pippo.it/pippo_ORM"></a> 
<a class="rss tip" title="direct" href="pippo"></a> 

Ich muss erhalten alle Anker, die nicht die URL „pippo.it“ in href haben. Ich möchte die Zeilen, die das Wort rel = "direkt" enthält, aus dem Ergebnis entfernen.

Wie kann ich das tun?

Ich benutze RegexBuddy und ich muss den Code auf ein .NET-Konsolenprogramm setzen. Ich muss die Zeilen in der gesamten Datei suchen.

Tnx

Antwort

0

So etwas sollte es tun

grep -v "pippo.it" myfile.txt | grep -v "rel=\"direct\"" 

Die -v das Spiel invertiert, so dass Linien ohne das Muster ausgegeben

1
grep -v 'href="[^"]*pippo.it\|rel="direct"' file.txt 
0
awk '!/rel=\"direct\"/ && !/href.*pippo.it/s' file 
Verwandte Themen