[gelöst] Nur Zeilen beginnend mit ads. in Textdatei löschen

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

[gelöst] Nur Zeilen beginnend mit ads. in Textdatei löschen

Beitrag von debnuxer » 08.01.2013 23:27:23

Womit kann man denn alle Zeilen die mit einem bestimmten Begriff beginnen, in einer Textdatei löschen und zwar so das wirklich nur die Zeilen gelöscht werden, bei denen der Begriff direkt am Anfang steht.

Z.B. sollen alle Zeilen die mit ads. beginnen gelöscht werden.

Es wird also z.B. ads.example.com gelöscht, aber nicht example.ads.com oder abc.ads.example.com ...

Mit Sed kann man scheinbar nur alle Zeilen mit einem bestimmten regexp löschen, wenn ich nichts übersehen habe, aber das bedeutet zu viele falsepositives.
Zuletzt geändert von debnuxer am 09.01.2013 00:53:49, insgesamt 1-mal geändert.
Das Leben ist wie ein überdimensionales Schachbrett.

Dirk1
Beiträge: 258
Registriert: 06.01.2007 16:13:26

Re: Nur Zeilen beginnend mit ads. in Textdatei löschen

Beitrag von Dirk1 » 09.01.2013 00:19:57

Warum geht regexp nicht?

Such-string ^ads\. (^ steht für zeilenanfang ) ist es doch schon.
Oder ich verstehe dein Problem nicht

debnuxer
Beiträge: 236
Registriert: 10.03.2012 12:12:21

Re: Nur Zeilen beginnend mit ads. in Textdatei löschen

Beitrag von debnuxer » 09.01.2013 00:52:52

Achso, vielen Dank.

Das ^ war in meiner manpage nicht aufgeführt.

So hat es geklappt:

Code: Alles auswählen

sed '/^ads./d' ./test.txt > ./test2.txt
Das Leben ist wie ein überdimensionales Schachbrett.

wanne
Moderator
Beiträge: 7599
Registriert: 24.05.2010 12:39:42

Re: Nur Zeilen beginnend mit ads. in Textdatei löschen

Beitrag von wanne » 09.01.2013 00:59:01

debnuxer hat geschrieben:Das ^ war in meiner manpage nicht aufgeführt.

Code: Alles auswählen

man 7 regex
Oder wenn du den Konqueror benutzt: [url]man:/usr/share/man/man7/regex.7.gz[/url]

Edit: Bekommt den Link irgend jemand klickbar hin? Der will sowas in der URL haben: .://[^/]. Da aber der lokale Pfad mit / anfängt bekomme ich das nicht hin.
Habe schon das versucht:
[url]man:///usr/share/man/man7/regex.7.gz[/url]
[url]man:///usr/share/man/man7/regex.7.gz[/url]
Aber verarschen lässt er sich halt auch nicht...
rot: Moderator wanne spricht, default: User wanne spricht.

uname
Beiträge: 12468
Registriert: 03.06.2008 09:33:02

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von uname » 09.01.2013 08:38:18

Vielleicht so wenn ich deine Frage überhaupt verstanden habe

Code: Alles auswählen

file:///usr/share/man/man7/regex.7.gz
(ja es sind drei Slashes hintereinander)
Problem ist jedoch, dass eine URL zu einem Browser gehört und der Browser natürlich "man" nicht kennt. Wobei vielleicht kennt Konqueror das Format. Ich nutze nur Iceweasel und der kennt vor allem

Code: Alles auswählen

http://, https://, ftp://,  file://

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von Cae » 09.01.2013 10:43:34

[url]man://../../../../../../usr/share/man/man7/regex.7.gz[/url]? In der Hoffnung, dass die ../ mengenmaessig ausreichen, um vom ~ bzw. CWD bis zum / aufzutauchen.

Zum Thema, doch, das ^ kommt in der sed-Dokumentation schon vor. Nur wird die ernstzunehmende Ausfuehrung als beschissenes "Info Document" ausgeliefert, anstatt als traditionelle Manpage [1]. Daher:

Code: Alles auswählen

$ zgrep -c \\^ /usr/share/info/sed.info.gz
60
$ 
Gruss Cae

[1] dazu faellt mir immer http://xkcd.com/912/ ein
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

uname
Beiträge: 12468
Registriert: 03.06.2008 09:33:02

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von uname » 09.01.2013 13:45:11

Sehr praktisch wäre im übrigen noch das löschen im Vim, da es selbsterklärend ist.

Code: Alles auswählen

:%s/^ads\..*\n//g

Benutzeravatar
CH777
Beiträge: 1466
Registriert: 27.05.2008 16:37:17

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von CH777 » 09.01.2013 14:48:22

uname hat geschrieben:(...) da es selbsterklärend ist.
na klar :roll:

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von Meillo » 09.01.2013 15:09:32

CH777 hat geschrieben:
uname hat geschrieben:(...) da es selbsterklärend ist.
na klar :roll:
Der kritischen Nachfrage stimme ich in sofern zu, dass es eine Abnormitaet ist das Newline zu matchen.

Und im gleichen Zug will ich noch zeigen wie man es richtig macht:

Code: Alles auswählen

:g/^ads\./d
:-D
Use ed once in a while!

uname
Beiträge: 12468
Registriert: 03.06.2008 09:33:02

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von uname » 09.01.2013 15:28:32

Danke. Das habe ich gesucht. Dabei habe ich extra das Vim-Buch "Vim Ge-Packt" vor einiger Zeit gekauft und zum Teil gelesen. Ist wohl doch nicht ganz so trivial. Aber der Vim ist sonst wirklich toll.

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von Meillo » 09.01.2013 16:41:50

uname hat geschrieben:Danke. Das habe ich gesucht. Dabei habe ich extra das Vim-Buch "Vim Ge-Packt" vor einiger Zeit gekauft und zum Teil gelesen. Ist wohl doch nicht ganz so trivial. Aber der Vim ist sonst wirklich toll.
Wenn du den ex-Modus verstehen willst, dann solltest du bei ed(1) anfangen.

Tipp: Drei Tage lang je eine halbe Stunde lang mit ed(1) editieren, dann einen Tag eine halbe Stunde lang die Unterschiede von ex(1) erforschen, am fuenften Tag die Unterschiede im ex-Modus des vi/Vim anschauen, und du wirst zukuenftig deinen Editor auf einem anderen Level nutzen. :-D
Use ed once in a while!

wanne
Moderator
Beiträge: 7599
Registriert: 24.05.2010 12:39:42

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von wanne » 09.01.2013 19:48:16

Cae hat geschrieben:[url]man://../../../../../../usr/share/man/man7/regex.7.gz[/url]
Ne, der Konqueror kennt nur absolute Pfade.
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7599
Registriert: 24.05.2010 12:39:42

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von wanne » 09.01.2013 20:00:12

uname hat geschrieben:Vielleicht so wenn ich deine Frage überhaupt verstanden habe

Code: Alles auswählen

file:///usr/share/man/man7/regex.7.gz
(ja es sind drei Slashes hintereinander)
Problem ist jedoch, dass eine URL zu einem Browser gehört und der Browser natürlich "man" nicht kennt. Wobei vielleicht kennt Konqueror das Format. Ich nutze nur Iceweasel und der kennt vor allem

Code: Alles auswählen

http://, https://, ftp://,  file://
Ne, der Konqueror kennt das "Protokoll" man, um manages anzuzeigen. Wenn ich html einfügen dürfte könnte ich für den Konqueror so einen Klickbaren Link auf das manual erstellen:

Code: Alles auswählen

<a href="man:///usr/share/man/man7/regex.7.gz">regex(7)</a>
Nur hier im Forum funktioniert das nicht, weil das forum keine Links akzeptiert, die mit / beginnen.
rot: Moderator wanne spricht, default: User wanne spricht.

Cae
Beiträge: 6349
Registriert: 17.07.2011 23:36:39
Wohnort: 2130706433

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von Cae » 09.01.2013 21:09:04

Hmm, regex(7)? Vorschau: [1].

Gruss Cae

[1] http://preview.tinyurl.com/man-7-regex
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.

—Bruce Schneier

shakky4711
Beiträge: 215
Registriert: 09.09.2009 13:33:17

Re: [gelöst] Nur Zeilen beginnend mit ads. in Textdatei lösc

Beitrag von shakky4711 » 10.01.2013 08:23:29

Hallo,

wer es noch nicht kennt, mir hat es schon oft geholfen, nützliche SED Einzeiler http://sed.sourceforge.net/sed1line_de.html

Gruß
Shakky

Antworten