Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Aus Textdokument jede 5. Zeile löschen

Aus Textdokument jede 5. Zeile löschen

rolfrein17.04.1820:53
Hallo,

ich habe ein Textdokument aus dem ich jede 5. Zeile löschen möchte.

Das Dokument sieht im Moment so aus:

1
00:02:09,580 00:02:10,820
<b>{\an2}<i>- Now you've got me!</i></b>
<b>- Jetzt hast du mich!

2
00:02:10,980 00:02:12,140
<b>{\an2}<i>- Now I've got you, yes!</i></b>
<b>- Jetzt hab ich dich, ja!

3
00:02:12,300 00:02:13,180
<b>{\an2}- Isn't that right! - Yes!</b>
<b>- Oder? - Ja!

4
00:02:13,340 00:02:14,380
<b>{\an2}<i>- I'm not getting more beautiful!</i></b>
<b>- Ich werde eben nicht mehr schöner!

5
00:02:14,540 00:02:15,300
<b>{\an2}<i>- You're beautiful enough!</i></b>
<b>- Du bist doch schön genug!


Es handelt sich um ein Untertitel srt - File und dieses File hat englische und deutsche Untertitel.

Ich brauche englische und deutsche Untertitel getrennt, dh. ich muss jede 5. Zeile löschen.

Da dieses File sehr viele Zeilen hat würde ich das gerne automatisieren.

Gibt es eine Automatisierung dass es so aussieht:

1
00:02:09,580 00:02:10,820
<b>{\an2}<i>- Now you've got me!</i></b>

2
00:02:10,980 00:02:12,140
<b>{\an2}<i>- Now I've got you, yes!</i></b>

3
00:02:12,300 00:02:13,180
<b>{\an2}- Isn't that right! - Yes!</b>

4
00:02:13,340 00:02:14,380
<b>{\an2}<i>- I'm not getting more beautiful!</i></b>

5
00:02:14,540 00:02:15,300
<b>{\an2}<i>- You're beautiful enough!</i></b>


Kann mir da jemand helfen?

Danke
Roland
0

Kommentare

Schnitter
Schnitter17.04.1821:11
Das ist ein Einzeiler im Terminal:

Im Terminal in das Verzeichnis wechseln, das die Datei enthält (Ich habe hier angenommen, dass sie 1.rtf heißt und mit einer führenden leeren Zeile beginnt. Zur Not kannst Du sie Dir ja so zurechtbasteln).

awk 'NR % 5 != 0' 1.rtf > 2.rtf
„Jeder ist ein Planet und wird von einem Menschen bewohnt.“
+5
MetallSnake
MetallSnake17.04.1821:20
Im Terminal:

awk 'NR % 5 != 0' test.txt > newTest.txt

Das schreibt alles außer jede fünfte Zeile aus test.txt in eine neue Datei newTest.txt (Dateinamen und Pfad natürlich entsprechend anpassen)
Da aber die erste betroffene Zeile nicht in Zeile 5 anfängt sondern in der dritten, musst du es wie folgt anpassen:

awk '(NR+2) % 5' test.txt > newTest.txt

Habs so grad ausprobiert mit deinem Beispiel. Damit sind die englischen Zeilen weg. Damit die deutschen verschwinden machst statt +2 einfach +1
„Die Menschheit ist eine völlig außer Kontrolle geratene Primatenspezies.“
+6
rolfrein17.04.1821:26
DANKE IHR SEIT SUPER!!!!!!!

Klappt bestens
0
tranquillity
tranquillity17.04.1823:27
Unix Commandos sind einfach was feines
Danke, auch ich habe was gelernt. Mit awk habe ich vor 20 Jahren das letzte mal gearbeitet...
+2
almdudi
almdudi18.04.1803:55
Ja, ich finde es auch schade, daß man als Normalbenutzer da so wenig davon hört, so wenig dazu auf bequeme Weise lernt.
Aber es soll Informatik-Leistungskurse geben (was wenigstens den Nachwuchs weiterbilden würde), wo sie als Hightech-IT lernen, wie man MS-Programme bedient.
Und hinterher vermutlich irritiert ist, daß es Programme gibt, die nicht von Microsoft sind. Und einen Wochenendkurs braucht, wenn bei einem Programm bei einem Update die Oberfläche geändert wird.
0
MetallSnake
MetallSnake18.04.1809:02
almdudi
Ja, ich finde es auch schade, daß man als Normalbenutzer da so wenig davon hört, so wenig dazu auf bequeme Weise lernt.

Ich weiß nicht was du mit "bequeme Weise" meinst, aber lernen kann man das auch als Normalbenutzer.

Grundlagen:
Skripting: eigentlich für Ubuntu, dürfte aber auch am Mac so funktionieren.

Gibt sicher noch etliche andere Tutorials.
„Die Menschheit ist eine völlig außer Kontrolle geratene Primatenspezies.“
+3

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.