Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Problem mit sed, grep, ...

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Thomas Gern
Gast





BeitragVerfasst am: 19. Feb 2000 22:15   Titel: Problem mit sed, grep, ...

Ich möchte aus einem Kernelpatch die Dateinamen (mit Pfad) herausfiltern.

Ausgabe sollte aussehen wie:
linux/CREDITS
linux/Documentation/Configure.help
linux/Documentation/DMA-mapping.txt
...

mit grep 'diff -u' $1 >$1.changed bekomme ich zwar folgende Ausgabe, komme aber mit sed nicht weiter:

diff -u --recursive --new-file v2.3.46/linux/CREDITS linux/CREDITS
diff -u --recursive --new-file v2.3.46/linux/Documentation/Configure.help linux/Documentation/Configure.help
diff -u --recursive --new-file v2.3.46/linux/Documentation/DMA-mapping.txt linux/Documentation/DMA-mapping.txt
...

Wie muss das noch mit sed gefiltert werden damit die Ausgabe stimmt ?
 

tux



Anmeldungsdatum: 14.08.1999
Beiträge: 14
Wohnort: Nähe Hamburg

BeitragVerfasst am: 22. Feb 2000 11:21   Titel: pipe-Bau

Hi Thomas,
Hab meine Unterlagen grad nicht dabei, deshalb kann ich Dir den Sed-Befehl nicht nennen,
aber was du vorher benötigst ist cut.
Damit kannst Du Spaltenweise "ausschneiden".
Häng an Deinen grep-Befehl mal ein
| cut -d' ' -f5
an, dann sollte die 5te Spalte(mit " " als Spaltentrennzeichen) ausgegeben werden, etwa so:

v2.3.46/linux/CREDITS
v2.3.46/linux/Documentation/Configure.help linux/Documentation/Configure.help
v2.3.46/linux/Documentation/DMA-mapping.txt linux/Documentation/DMA-mapping.txt

JETZT muss sed nochmal ran um "v2.3.46" rauszuschmeissen, ich melde mich ggf. morgen nochmal.
Gruß, TUX
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

tux



Anmeldungsdatum: 14.08.1999
Beiträge: 14
Wohnort: Nähe Hamburg

BeitragVerfasst am: 23. Feb 2000 16:59   Titel: Pipe Teil 2

Hi Thomas,

nun kommt sed zum Zuge:
| sed ´s/v\.3\.46//´

Zum Prinzip:
/muster/wird ersetzt durch dieses hier/
im Beispiel also /v.3.46/ durch // , also nix.
die \ sind nötig, damit der folgende Punkt nicht als Befehl interpretiert wird.

Klappts ?
Wenn nicht oder bei Fragen bitte nochmal melden.
(kanns grad nicht selbst testen, da ich an einer WinDose sitze).

Gruß, TUX
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

Thomas Gern
Gast





BeitragVerfasst am: 23. Feb 2000 20:45   Titel: Re: Problem mit sed, grep, ...

Danke TUX


grep 'diff -u' $1 | cut -d' ' -f5 | sed 's/v2\.3\.46//' >$1.changed


Wenn ich das mit cut richtig verstanden habe, reicht dann nicht auch folgendes ?


grep 'diff -u' $1 | cut -d' ' -f6 >$1.changed
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy