Ubuntu-Austria Foren-Übersicht
Portal  •  Forum  •  Profil  •  Suchen   •  Registrieren  •  Einloggen, um private Nachrichten zu lesen  •  Login   

 Maskieren von Sonderzeichen [gelöst]

Neues Thema eröffnenNeue Antwort erstellen
Autor Nachricht
haidi




Geschlecht:
Alter: 67
Anmeldungsdatum: 03.11.2007
Beiträge: 604
Wohnort: 1230


austria.gif

BeitragVerfasst am: 11.01.2011, 03:27    Maskieren von Sonderzeichen [gelöst] Antworten mit ZitatNach oben

Hallo,

So - mit SED und for;;undo komme ich zu Recht, aber jetzt habe ich ein Problem mit der Maskierung von Sonderzeichen.

Bei dem Befehl:
Hab ich die Sonderzeichen <, > und \ mit \ maskiert

for i in *.html; do sed -i.nul s/\<h4\>\<a href="h_\*.html" style="text-decoration: none;"\>// "$i"; done


Bekomme ich die Fehlermeldung:
sed: -e Ausdruck #1, Zeichen 8: Nicht beendeter `s'-Befehl

Für mich schaut es aus, als ob es sich um das "<" handelt.

Hannes
PS: Neuen Thread angelegt, weil Maskierung nicht nur den Befehl SED betrifft.


Zuletzt bearbeitet von haidi am 12.01.2011, 02:45, insgesamt einmal bearbeitet


Desktop: Unity Gnome 3.X

Version: 16.04

Hardware: Workstation and Netbook

Architektur: 64Bit

_________________
MSI Barebone, Ubuntu 14.04
IBM X200 Ubuntu 14.04

Ein Windows-User ist wie ein Alkoholiker:
Ein Alkoholiker muss seine Krankheit selbst einsehen, dann macht der Entzug Sinn.
Ein Windows-User muss einsehen, dass Windows sch###e ist – dann kann man ihm Ubuntu installieren.


Zuletzt bearbeitet von haidi am 12.01.2011, 02:45, insgesamt einmal bearbeitet
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden    
kappa




Geschlecht:
Alter: 47
Anmeldungsdatum: 26.10.2009
Beiträge: 1466
Wohnort: Wien 10


austria.gif

BeitragVerfasst am: 11.01.2011, 22:50    (Kein Titel) Antworten mit ZitatNach oben

Was passiert, wenn Du auf der Kommandozeile Leerzeichen machst?
Was passiert, wenn Du auf der Kommandozeile Argumente nicht unter Hochkomma setzt?
Wer evaluiert zuerst Deine Escape-Sequenzen (Backslash) und Hochkommas, das sed oder die bash?

Schreib mal an, was dem sed Programm tatsächlich in den Argumentbuffer übergeben wird, und wieviele Argumente mit welchem Inhalt sind es?

Also,
Arg0="sed"
Arg1="-i.nul"
Arg2="s/.........???


Desktop: Gnome 2.X

Version: 10.04

Hardware: Notebook

Architektur: 32Bit

_________________
Firma: Lenovo T410 10.04 32bit (Intel IGP 1440x900, Intel SSD)
Privat: Lenovo T500 10.04 32bit (Intel IGP 1680x1050, Seagate FDE)
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden    
haidi




Geschlecht:
Alter: 67
Anmeldungsdatum: 03.11.2007
Beiträge: 604
Wohnort: 1230


austria.gif

BeitragVerfasst am: 12.01.2011, 02:44    (Kein Titel) Antworten mit ZitatNach oben

« kappa » hat folgendes geschrieben:
Was passiert, wenn Du auf der Kommandozeile Leerzeichen machst?
Was passiert, wenn Du auf der Kommandozeile Argumente nicht unter Hochkomma setzt?

Das wars (Hochkomma) - die Leerzeichen haben mir den Spaß verdorben. Dabei hab ich es doch gewusst, aber schon lange nicht mehr derartiges in der Kommando-Zeile gemacht (weder Linux noch DOS)
Zitat:
Schreib mal an, was dem sed Programm tatsächlich in den Argumentbuffer übergeben wird, und wieviele Argumente mit welchem Inhalt sind es?

Es soll die Zeichenkette
<h4><A HREF="h_20100519.html" style="text-decoration:none"> Thumbnails </a></h4>

entfernt werden, also durch nichts ersetzt werden, wobei der Zahlenteil des Argumentest (20100519) sich von Datei zu Datei ändert.
Jetzt bin ich auf die Lösung gekommen:
Ich kann, wenn ich das Argument s/a/b in Hochkomma setze, keine Platzhalter mehr verwenden, daher:
Schritt 1:
sed -i.nul s/h_\.\.\.\.\.\.\.\..html// Dateiname

und als zweiten Schritt:
sed -i.nul 's/<h4><A HREF="" style="text-decoration:none"> Thumbnails <\/a><\/h4>//' Dateiname

wobei ich die beiden "/" im Suchtext mit "\" maskieren musste (sonst gehts nicht).

Danke für die Hilfe

Hannes


Desktop: Unity Gnome 3.X

Version: 16.04

Hardware: Workstation and Netbook

Architektur: 64Bit

_________________
MSI Barebone, Ubuntu 14.04
IBM X200 Ubuntu 14.04

Ein Windows-User ist wie ein Alkoholiker:
Ein Alkoholiker muss seine Krankheit selbst einsehen, dann macht der Entzug Sinn.
Ein Windows-User muss einsehen, dass Windows sch###e ist – dann kann man ihm Ubuntu installieren.
OfflineBenutzer-Profile anzeigenPrivate Nachricht senden    
Beiträge der letzten Zeit anzeigen:      
Neues Thema eröffnenNeue Antwort erstellen


 Gehe zu:   



Berechtigungen anzeigen


Forensicherheit

1008050158655 Angriffe abgewehrt

Powered by Orion based on phpBB © 2001, 2002 phpBB Group
CBACK Orion Style based on FI Theme
Alle Zeiten sind GMT + 2 Stunden



[ Page generation time: 0.0771s (PHP: 75% - SQL: 25%) | SQL queries: 35 | GZIP enabled | Debug off ]