Springe zum Inhalt →

Schlagwort: Notepad++

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.

Jedi Tricks – Notepad++ – Pre- und Suffixe

Notepad++ ist die Software die ich tagtäglich nutze. Sie hilft mir bei meinem Job, bei meinen kleinen Routinen und auch bei meiner Selbstorganisation.

Ein Teil meiner Arbeit ist es Listen zu bearbeiten. Um Daten aus Tabellen zu manipulieren, Skripte um Daten auf Filesystemen und Shares zu bearbeiten und allerlei Informationen zusammenzuschmelzen. Dafür benutze ich Notepad++. Auf der einen Seite um die Daten direkt zu bearbeiten oder um mir Befehlszeilenbefehle (was für ein Wort) zusammenzubauen und diese dann per copy&paste ausführen zu können.

Ein wichtiger Punkt ist es in allen Zeilen vor und nach Texten weitere Texte einfügen zu können. Mittendrin ist es kein Problem, da arbeitet man einfach mit Suchen und Ersetzen. Aber am Zeilenanfang und am Zeilenende ist das eine Herausforderung. Aber zu Glück kann Notepad++ im Suchen und Ersetzen Dialog mit Regular Expressions oder Deutsch Reguläre Ausdrücke umgehen. Das sind interpretierbare Steuerzeichen um Texte zu manipulieren. Ich werde in Zukunft sicherlich noch auf Diese eingehen.

Wie fügt man jetzt Pre- und Suffixe ein?

1. Man öffnet das Suchen und Ersetzen Dialog und achtet, dass der Suchmodus Reguläre Ausdrücke ausgewählt ist.

2. Im „Suchen nach:“ Feld gibt man, damit Notepad++ eine ganze Zeile sucht, folgendes als Suchbegriff ein.

(.+)$

3. Im „Ersetzen durch:“ Feld kann man jetzt den einzufügenden Text eingeben. Die gesuchte und gefundene ganze Zeile wird von Notepad++ als „/1“ bezeichnet. Also:

Das ist ein Text, der am Anfang einer Zeile eingefügt wird./1

/1Dieser Text landet dahinter.

Oder programmiertechnisch ausgedrückt:

<prefix>/1

/1<suffix>

 

Das war’s. Wenn Ihr noch Fragen habt, einfach ein Kommentar hinterlassen oder per Twitter.

Möge die Macht mit euch sein.

Kommentare sind geschlossen.