ubuntuusers.de

sed Zeilenumbruch ersetzen

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

uubuuntuu

Anmeldungsdatum:
11. Mai 2007

Beiträge: 49

Hallo,

ich möchte alle Zeilenumbrüche (unix) in einer Datei durch ABCD ersetzen.
Warum geht das nicht mit

sed 's/\n/ABCD/g'?

Was mache ich falsch?

domachine

Anmeldungsdatum:
16. Mai 2007

Beiträge: 562

Mit sed ist das so ein Problem, denn das Ende einer Zeile wird normalerweise mit $ angegeben.

Also entweder, du nutzt hier einen Umweg:

sed ':a;N;$!ba;s/\n/ABCD/g'

Oder du benutzt "tr":

tr "\n" "A"

Ich hoffe, ich konnte dir helfen

uubuuntuu

(Themenstarter)

Anmeldungsdatum:
11. Mai 2007

Beiträge: 49

Das funktioniert super, sehe ich es richtig, dass tr nur einzelne Zeichen ersetzen kann (daher nur A)?

audax

Avatar von audax

Anmeldungsdatum:
15. September 2006

Beiträge: 1253

man tr

Man achte auf "-t"

domachine

Anmeldungsdatum:
16. Mai 2007

Beiträge: 562

audax hat geschrieben:

man tr

Man achte auf "-t"

Wie ist das zu verstehen?. Ich kapier das in der man nicht richtig
Gib mal'n Beispiel.

audax

Avatar von audax

Anmeldungsdatum:
15. September 2006

Beiträge: 1253

hmpf, tr ist doof.

 perl -pe 's/\n/ABC/'


Das tuts.

Perl rockt \o/

uubuuntuu

(Themenstarter)

Anmeldungsdatum:
11. Mai 2007

Beiträge: 49

hehe, das habe ich auch die ganze zeit gedacht, dass -t (truncate) leider nicht extended.

perl, ach ja. ohne einen glaubenskrieg anzustifte 😛 ; ich wollte es halt in shell ohne perl machen
aber cash5s Beitrag hat geholfen! danke an alle.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4687

Wohnort: Berlin

Das finde ich interessant, jetzt habe ich in letzter Zeit schon mehrmals gelesen, das externe Programme wie sed, awk, grep, tr usw. okay sind, aber perl plötzlich nicht mehr "Shell" ist. Aus Sicht der Shell sind das alles externe Programme.

Der_Gestreifte

Avatar von Der_Gestreifte

Anmeldungsdatum:
21. Juni 2007

Beiträge: 1261

Wohnort: Nürnberg

Der vollständigkeit halber:

sed ':M;N;$!bM;s#\n#ABCD#g'

Sid_Burn

Anmeldungsdatum:
23. Oktober 2004

Beiträge: 2159

Marc 'BlackJack' Rintsch hat geschrieben:

Das finde ich interessant, jetzt habe ich in letzter Zeit schon mehrmals gelesen, das externe Programme wie sed, awk, grep, tr usw. okay sind, aber perl plötzlich nicht mehr "Shell" ist. Aus Sicht der Shell sind das alles externe Programme.

Finde ich egnauso interessant.

Ist und wird wohl immer so bleiben das die Leute einen unerklärlichen Grund gegen Perl haben. 😉 Kommandoswitsches hat Perl ja so das man ihn auch optimal in Shell Befehlen benutzen kann. Und anderen Programmen die in Perl geschrieben wurden wie "rename", "adduser", "update-rc.d" scheut sich ja auch keiner diese in "Shell" Skripte zu nutzen.

audax

Avatar von audax

Anmeldungsdatum:
15. September 2006

Beiträge: 1253

vllt ist ihnen eine Lösung mit Perl....zu einfach und effektiv. Viele benutzen ja Shellscripts um ihre Männlichkeit zu beweisen.

Marc_BlackJack_Rintsch Team-Icon

Ehemalige
Avatar von Marc_BlackJack_Rintsch

Anmeldungsdatum:
16. Juni 2006

Beiträge: 4687

Wohnort: Berlin

@Sid Burn: Also ich habe nur erklärliche Gründe gegen Perl, Du verstehst sie bloss nicht. 😉

audax

Avatar von audax

Anmeldungsdatum:
15. September 2006

Beiträge: 1253

Aha. Sind sicher gute Gründe.
Und so reichhaltig, wie ich sehe.

Sid_Burn

Anmeldungsdatum:
23. Oktober 2004

Beiträge: 2159

Marc 'BlackJack' Rintsch hat geschrieben:

@Sid Burn: Also ich habe nur erklärliche Gründe gegen Perl, Du verstehst sie bloss nicht. 😉

Nein. 😉
Du hast sicherlich erklärliche Gründe aus deiner Perspektive. Wenn du diese aber genauer betrachtest sind sie falsch. 😉 :p

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17621

Wohnort: Berlin

Leute! Beim Thema bleiben!

Antworten |