Schrift
[thread]11599[/thread]

Ersetzen von © mit Perl

Tags: Ähnliche Threads

Leser: 2


<< |< 1 2 >| >> 20 Einträge, 2 Seiten
peach
 2008-04-07 23:40
#108035 #108035
User since
2008-04-07
8 Artikel
BenutzerIn
[default_avatar]
Hallo!
Ich möchte mit dem Perl Kommando das © in einer Datei ersetzen (Text-File):

perl -i -pe "s/©/&#169;/g" test_cp7.txt.

Im VI unter Linux stellt es sich so da (Bsp-File):

© 2008 Adis Data
Information BV. All rights reserved.

Das klappt leider nicht. Hat jemand eine Idee? Danke!
Anzahl der Antworten: 1
Linuxer
 2008-04-07 23:47
#108036 #108036
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Schon mal versucht, den Hexwert des zu ersetzenden Zeichens anzugeben?

Quote
0 ~$ perl -i -pe "s/\xa9/&#169;/g" test.txt
0 ~$ cat test.txt
&#169;

meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
peach
 2008-04-08 00:02
#108038 #108038
User since
2008-04-07
8 Artikel
BenutzerIn
[default_avatar]
Geht leider auch nicht :-(
peach
 2008-04-08 00:08
#108040 #108040
User since
2008-04-07
8 Artikel
BenutzerIn
[default_avatar]
Mir ist gerade aufgefallen, dass im VI in der Status-Zeile folgendes steht:

"test_cp6.txt" [converted] 15L, 1078C

Eigentlich ist es ein Textfile. ich weiss jetzt nichts, wie dieser File konvertiert ist.
Wenn ich nämlich einen neuen File mit dem VI erzeuge und diesen Inhalt (incl. ©) reinkopiere, dann funktioniert das Ersetzen.

Wie kann ich die Datei abspeichern, dass es funktioniert?
Danke!
pq
 2008-04-08 00:14
#108042 #108042
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
bittte in zukunft nur in einem forum posten, habe das andere mal gelöscht.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pq
 2008-04-08 00:15
#108043 #108043
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
zu "converted": was sagt
file dateiname
?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Linuxer
 2008-04-08 00:21
#108044 #108044
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Ich vermute mal, dass die Datei utf8 codiert ist (und damit auch das copyright-symbol).

Achte auf die fettgedruckten Hex-Codes für das Copyright-Zeichen...

Quote
0 ~> cat copy.txt
© bla

0 ~> file copy.txt
copy.txt: ISO-8859 text
0 ~> xxd copy.txt
0000000: a920 626c 610a . bla.

0 ~> recode latin1..utf8 copy.txt

0 ~> file copy.txt
copy.txt: UTF-8 Unicode text
0 ~> xxd copy.txt
0000000: c2a9 2062 6c61 0a .. bla.
0 ~>
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
peach
 2008-04-08 00:24
#108045 #108045
User since
2008-04-07
8 Artikel
BenutzerIn
[default_avatar]
Was meinst Du? DIese Zeile mit converted steht in der Stauszeile des VI, wenn ich die Datei damit öffne. Die Datei ist die, die ich in dem Perl-Aufruf verwende, in der ich das © ersetzen möchte.
Danke fürs Löschen des Beitrages in dem anderen Forum. Mir war aufgefallen, dass es dort falsch gelandet ist.
Danke!
Linuxer
 2008-04-08 00:26
#108046 #108046
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
Auf Linux-Kommandozeile gibt es das Kommando "file".
pq meint, du möchtest bitte das Kommando mit dem Dateinamen als Argument aufrufen und das Ergebnis hier posten.
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
peach
 2008-04-08 00:29
#108047 #108047
User since
2008-04-07
8 Artikel
BenutzerIn
[default_avatar]
Ich kann recode nicht benutzen.
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2008-04-07 23:40.