Springe zum Inhalt →

Schlagwort: Notepad++

Jedi Tricks – Notepad++ – Jede zweite Zeile löschen

Sicherlich ist euch noch der Trick mit dem Finden und Markieren von bestimmten Zeilen bekannt. Diesen kann man jedoch nicht anwenden, wenn man kein Zeichenmuster in den betroffenen Zeilen finden kann. In meinem Fall war es eine Datei mit Usern und deren Klarnamen. Das hat sich immer abgewechselt. Also in der ersten Zeile der Username und in der zweiten Zeile der Klarname. Dann kam der nächste Eintrag. Daraus hat sich ein Zeilenmuster ergeben. Ich habe in diesem Fall nur den Usernamen und damit nur jede „ungerade“ Zeile gebraucht.

Doch wie entfernt man jede zweite Zeile? Das geht nur mit RegEx und einer kleinen Abwandlung der Pre- und Suffix Vorgehensweise.

Wir gehen in die Ersetzen Funktion (STRG+h) und aktivieren die „Regulären Ausdrücke„. Wichtig ist auch, dass man die Option „Am Ende von vorne beginnen“ deaktiviert. Dann würde das Ersetzen mit jedem Durchlauf die Datei leeren.

Wie Ihr schon im Screenshot sehen könnt, suche ich nach „.+\R(.+)“ und ersetze es durch „$1„. Doch was bedeutete das?

  • .+“ sucht ein beliebiges Zeichen „.“ in beliebiger Anzahl „+
  • \R“ sucht einen Zeilenumbruch jeglicher Art. Es gibt ja „\n“ (neue Zeile) und „\r“ (Return) und das auch in Kombination „\n\r„. Je nach Kodierung der Datei. Dies alles wird mit „\R“ berücksichtigt
  •  

Damit hätten wir die erste komplette Zeile „markiert“. Jetzt folgt die Zweite.

  • .+“ um die komplette nächste Zeile zu markieren, denn davor war ja der Zeilenumbruch
  • ()“ dieser Teil ist in Klammern, damit er in die temporäre erste Variable geschrieben wird.

Und genau damit wird dann das alles ersetzt. D.h. nur die zweite Zeile bleibt übrig. Wobei Ihr habt es natürlich schon erfasst. Ich wollte den Usernamen, d.h. nur die erste Zeile behalten. Dann ist der richtige Suchausdruck „(.+\R).+\R„. Diesmal müssen beide Zeilenumbrüche mit aufgenommen werden, damit beide durch eines Ersetzt wird.

Und zu gute Letzt. Wie Ihr euch denken könnt, könnte man damit auch beide Zeilen untereinander vertauschen. Man klammert beide Ausrücke und hat damit zwei Variablen die man im Ersetzen Feld in umgekehrter Reihenfolge ausgibt.

Und das kann man für eine beliebige Anzahl an Zeilen weiterführen.

 

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

Möge die Macht mit euch sein.

 

[via]

Schreibe einen Kommentar

Todo.txt – Die einfache ToDo Liste

Ich bin immer auf der Suche nach eine Möglichkeit meine Aufgaben zu notieren, damit ich auch nichts vergesse. Und so habe ich über die Jahre schon viele ToDo Programme durchprobiert. Nicht viele haben mich langfristig an der Stange gehalten.

Im Büro verwende ich Outlook. Als zentrale Stelle für Kalender und Emails ist es auch der richtige Ort für meine Aufgaben. Und die Kopplung zu OneNote ist mehr als gut. Zusätzlich habe ich noch ein paar Helferlein, die meine Arbeitsweise noch mehr unterstützen.

Jedoch steht mir diese Umgebung privat nicht zur Verfügung. Ich habe etwas gesucht, dass einfach und über alle meine Systeme hin benutzbar ist. Und dabei bin ich auf eine simple Textdatei gestoßen.

ToDo.txt ist nicht nur der Name der Textdatei, nein es ist ein ganzes System ausgedacht von Gina Trapani. Sie hat diverse Namenskonventionen festgelegt, um in einer simplen Textdatei Aufgaben zu sortieren und bearbeiten. Alles nachzulesen auf dieser Seite.

So sieht eine Zeile und damit eine Aufgabe im Maximum aus.

Das erste Zeichen „x“ ist die Checkbox, ob eine Aufgabe erledigt ist oder nicht. Gefolgt von der Priorität in runden Klammern. Danach Data für den Abschluss und Erstellung. Gefolgt vom eigentlichen Aufgabentext und den Merker für Projekte „+“ und Kontext „@“. Zum Schluss die Deadline.

Wie man sieht, beinhaltet die Zeile alle Informationen die notwendig sind. Und mit einem ordentlichen Texteditor wie unser beliebtes Notepad++ kann man ohne Probleme z.B. alle Zeilen die als Projekt „+Wohnung“ haben sofort finden. So habe ich eine Zeitlang alle meine Aufgaben verwaltet. Einen kleinen Teaser habe ich ja in meinem „Jedi Tricks – Windows – Tastatur Shortcuts“ Beitrag erwähnt.

Und damit sind wir bei dem riesen Vorteil dieser Methode. Die Textdatei kann mit Allem bearbeitet werden und ist damit super flexibel. Und das eröffnet auch gleich alle Tore, um allerlei kompatible Programme zu erstellen. Sehr viele findet man auf der Homepage https://todotxt.org/

Nachdem ich vom Notepad++ als ToDo.txt Editor weggegangen bin, habe ich das kleine portable Tool todotxt.net verwendet. Eine simple GUI mit vielen Keyboard Shortcuts. Genau was ich liebe.

Trotzdem habe ich immer sehr neidisch auf Gina geschaut. Denn das eigentliche Tool, das Sie geschrieben hat, ist ein Kommandozeilen Tool (cli – command line interpreter). Wunderschön und simpel, aber nur für Mac oder Linux. Für Windows / DOS gibt es leider nichts.

Also gab es nur eine Möglichkeit. „Massimo setzt dich hin und programmiere es selbst!

Und so ist es entstanden. Ich habe mir ein rudimentäres Grundgerüst geklont und die letzten Tage immer mehr Features ran gebaut. Jetzt habe ich ein kleines feines Python Programm, dass meine ToDo.txt nach den Regeln bearbeitet. Es ist noch nicht ganz fertig und ich werde noch mehr Funktionen einbauen, die den Tastaturkürzeln von todotxt.net entsprechen.

Ich nehme gerne Wünsche und Anregungen entgegen. Downloaden und Kommentieren könnt Ihr es auf der dazugehörigen Github Seite.


Schreibe einen Kommentar

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.
Schreibe einen Kommentar

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.

Schreibe einen Kommentar