Springe zum Inhalt →

Monat: Juli 2018

Jedi Tricks – Notepad++ – Zeilen mit bestimmten Wort finden/löschen/kopieren

Immer mal wieder steht man vor der Aufgabe aus langen Listen etwas herauszufischen. Zum Beispiel alle E-Mail Adressen aus einem Excel Dokument oder alle Telefonnummern aus einer CSV Datei. Ich muss aus Datenbankauszügen die Zeilen mit den bestimmten Lizenzen weiterverarbeiten und auch manchmal alle Links zu Bildern oder Filme aus einer HTML Site oder XML Struktur herausfinden.
Je nach Aufgabe, ist es nicht immer Ratsam sofort einen Parser zu schreiben. Besonders wenn es sich um eine einmalige Sache handelt. Viel schneller kann man mit dem folgenden Trick im Notepad++ eine Batchdatei oder ein „Skript“ basteln.
Nehmen wir mal als Beispiel eine RSS Feed Datei eines Kurses der Uni Erlangen von Professor Kohlhase den ich nur wärmstens empfehlen kann. Diese beinhaltet im Body alle Element im folgenden Format.

<item>
  <title>1 – Künstliche Intelligenz I 2017/2018</title>
    <itunes:duration>01:23:51</itunes:duration>
    <enclosure url=“http://itunes.video.uni-erlangen.de/get/file/29771.m4v?src=itunesu“ length=“1682454663″ type=“video/mp4″  />
  <guid isPermaLink=“false“>/data/2017/10/19/FAU_W17_KII_ClipID_8350/20171019-KII-Kohlhase-Combined-H.264-1920×1080.m4v</guid>
  <pubDate>Thu, 19 Oct 2017 00:00:00 +0200</pubDate>
  <itunes:author>Prof. Dr. Michael Kohlhase</itunes:author>
  <itunes:keywords></itunes:keywords>
  <itunes:subtitle>Künstliche Intelligenz I</itunes:subtitle>
  <itunes:summary></itunes:summary>
  <itunesu:category itunesu:code=“101102″ />
  <itunes:order>1</itunes:order>
</item>
<item>
  <title>1 – Künstliche Intelligenz I 2017/2018</title>
    <itunes:duration>01:23:51</itunes:duration>
    <enclosure url=“http://itunes.video.uni-erlangen.de/get/file/29817.m4v?src=itunesu“ length=“1682499721″ type=“video/mp4″  />
  <guid isPermaLink=“false“>/data/2017/10/19/FAU_W17_KII_ClipID_8350/20171019-KII-Kohlhase1-H.264-1920×1080.m4v</guid>
  <pubDate>Thu, 19 Oct 2017 00:00:00 +0200</pubDate>
  <itunes:author>Prof. Dr. Michael Kohlhase</itunes:author>
  <itunes:keywords></itunes:keywords>
  <itunes:subtitle>Künstliche Intelligenz I</itunes:subtitle>
  <itunes:summary></itunes:summary>
  <itunesu:category itunesu:code=“101102″ />
  <itunes:order>1</itunes:order>
</item>

In der ganzen RSS Datei ist eigentlich nur der Link zur Video Datei wichtig, denn das ist zumindest ein Teil der URL um diese z.B. per wget downzuloaden. Deshalb müssen wir die Zeilen identifizieren, markieren und aus der großen RSS Datei herausholen.

Identifizieren
Wie man in dem Auszug sehen kann ist ein Teil der URL in den Zeilen mit dem Schlüsselwort „isPermaLink“. Wichtig ist, dass dieses Schlüsselwort in allen gewollten Zeilen vorkommt. Und besser ist es, wenn es in keinen weiteren Zeilen erscheint. Dann braucht man das Ergebnis nicht nochmal filtern.

Markieren
Dafür verwenden wir zwei Funktionen im Notepad++. Die Erste ist im Suchen Menu (STRG+F) die Hervorheben Funktion im gleichnamigen Reiter.
Wir suchen nach „isPermaLink“ und achten auf die markierten Optionen. „Lesezeichen setzen“ ist wichtig für die zweite Funktion, die wird verwenden werden. Damit werden alle Zeilen zur Weiterverarbeitung markiert. Die zweite Option „Für jede Suche löschen“ bedeutet, dass man vorhandene Lesezeichen beim Klick auf „Alle Markieren“ löscht und durch die neue Auswahl ersetzt. Man kann natürlich dies auch verwenden, wenn man zwei unterschiedliche Suchkriterien hat um alle Zeilen zu markieren. Dann sucht und markiert man zuest mit dem einem Kriterium die Zeilen, dann mit dem Nächste und addiert sozusagen die Lesezeichen. In unserem Fall ist das nicht notwendig.
Die markierten Zeilen werden durch einem blauen Punkt neben der Zeilennummer dargestellt.
Kopieren/Herausholen
Und damit ist auch schon fast alles gemacht. Im Suchen Menü gibt es eine Untermenü Lesezeichen, das unsere zweite Funktion beinhaltet. Darin sind auch weitere Funktionen, die keine Wünsche offen lassen. Mit diesen kann man die markierten Zeilen löschen, kopieren, ausschneiden, ersetzen usw.
In unserem Fall „Zeilen mit Lesezeichen kopieren„. Damit werden alle Zeilen in die Zwischenablage gelegt und wird können einfach ein neues leeres Dokument erstellen und alle Zeilen einfügen.
Mit der Funktion Ersetzen (STRG-H) und unseren Jedi Trick für Pre- und Suffixe sollte es jetzt kein Problem sein aus

das
<guid isPermaLink=“false“>/data/2017/10/19/FAU_W17_KII_ClipID_8350/20171019-KII-Kohlhase-Combined-H.264-1280×720.m4v</guid>

dies

zu erstellen. Dieses neue Datei dann als Batchdatei abspeichern und ausführen. Das „–no-check-certificate“ ist für den Download auf dem Server der Uni Erlangen notwendig, das ist nicht immer der Fall.
Hier fällt mir auf, dass ich euch noch gar nicht erklärt habe, wie man z.B. in einer Zeile 7 Zeichen am Ende löscht. Der nächste Jedi Trick – Notepad++ kommt.
Kommentare sind geschlossen.