Mit sed, löschen Sie alles zwischen zwei Zeichen
Wie lösche ich Symbole, Leerzeichen, Zeichen, Worte, alles, was zwischen zwei Zeichen in einer Zeile?
Meine 5-Linien-Datei ist:
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.12 264 556 -
"Skype for Macintosh" 120.94.30.9 1038 482 -
-129.94.30.4 217 309 -
"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; InfoPath.1)" 120.94.30.8 1197 747 -
"¢¢HttpClient" 120.94.30.12 594 231 -
Ich alles löschen wollen dazwischen kommt "
und "
(einschließlich der "
Zeichen), so dass die benötigte Ausgabe sollte sein:
120.94.30.12 264 556 -
120.94.30.9 1038 482 -
-120.94.30.4 217 309 -
120.94.30.8 1197 747 -
120.94.30.12 594 231 -
InformationsquelleAutor Hassan HABIBI | 2012-10-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meinst du wie diese?
der obige Befehl funktioniert für die test-Protokolldatei (paar Zeilen). Aber es funktioniert nicht für die große Datei (mit 1,5 Millionen Zeilen) vor allem für die Zeilen: "Skype 4.1" 129.94.30.9 286.
Mir scheint, diese beiden Lösungen sollten auf Ihre Skype-Leitung. Können Sie sagen, was ist anders an diese Zeilen?
Fügen Sie "g", entsprechen alle Paare, die hilfreich für das entfernen von html-tags, zum Beispiel: sed 's/<[^>]*>//g' Datei
InformationsquelleAutor Brian
Was ist die komplette Zeile mit "Skype 4.1" 129.94.30.9 286?
InformationsquelleAutor Summer_More_More_Tea