Zeilen zusammenfassen mit echo $(cat DATEI) geht nicht

P

p351412

Grünschnabel
Hallo !
Mein Problem könnt ihr ja schon der überschrift entnehmen...
ich habe eine Datei mit zwei gleichlangen Zeilen,die ich zusammen fassen möchte.
ABC31208123F^M
DEF123FEEE12^M
EDIT : habe das ^M noch hinzugefügt,das ist auch mein Problem...
als Beispiel ...
dies hab ich nun schön öfters mit echo $(cat DATEI) hinbekommen,doch dieses mal klappt es einfach nicht...
die Ursache des Problems habe ich auch schon gefunden,tu mir aber ein bisschen schwer diese zu beschreiben...also :
die zweite Zeile ist "angeklebt" ,d.h. ich muss,wenn ich mit einem gewögnlichen Editor arbeite ZWEIMAL die zurück taste drücken,damit sie an die erste Zeile dran gehängt wird...
ich hoffe,ihr könnt mir bei meinem Problem helfen...
MfG p351412
 
Zuletzt bearbeitet:
Keine Ahnung, was Du mit "angeklebt" meinst? Vielleicht tuts ein:

Code:
cat DATEI | tr -d '\r\n'

Gruss, Xanti
 
danke schon mal für die Antwort...leider kennt mein linux tr nicht... :-( gibt es einen ersatz für das tr ?? ich hab mal was mit sed versucht,aber das hat zu nicht geführt...
MfG p351412
 
p351412 schrieb:
danke schon mal für die Antwort...leider kennt mein linux tr nicht... :-( gibt es einen ersatz für das tr ?? ich hab mal was mit sed versucht,aber das hat zu nicht geführt...
MfG p351412

Dann solltest du mal sagen, welche Dist. und vor allem Shell du benutzt.
tr zählt zumindest unter Debian zu den coreutils der bash.

Gruß Wolfgang
edit/ Mit sed geht es aber auch:
$ echo -ne "abcd\nefg\n"|sed -ne '$!N;${s/\r\|\n//g;p}'
abcdefg
Statt dem echo (hier zu testzwecken) setz einfach ein cat auf deine Datei.
 
Zuletzt bearbeitet:
Hallo !

ich nutze eine Linuxversion für ein eingebettetes System...
wenn ich das mache ,was du vorschlägst,dann klappt das ganz gut ,allerdings erscheinen zwischen den beiden Teilen ein ^M...und ich hab den eindruck,das sed nur noch die ehemalig 2.Zeile erkennt,wenn ich das weiter beabeiten will.
ich kann die folgenden kommandos nutzen :
[, ash, awk, basename, bunzip2, busybox, bzcat, cat, chmod, clear,
cp, cut, date, dd, df, dmesg, dos2unix, du, echo, env, expr, false,
find, free, grep, gunzip, gzip, halt, hostname, ifconfig, ifdown,
ifup, inetd, init, insmod, ip, kill, killall, ln, loadkmap, login,
ls, lsmod, md5sum, mkdir, more, mount, mv, nc, nslookup, passwd,
pidof, ping, poweroff, ps, rdate, reboot, renice, rm, rmdir, rmmod,
route, sed, sh, sleep, sync, tail, tar, telnet, telnetd, test,
time, touch, true, udhcpc, umount, uname, unix2dos, uptime, vi,
watchdog, wget, xargs, yes, zcat

meine shell ist die bash...
ok ...hab grad festgestellt,dass das ^M ein Zeilenvorschub ist,den ich entfernen muss...hab aber noch nicht rausgefunden ,wie ;) vielleicht kann mir jemand ein paar tipps geben ?

MfG p351412
 
Zuletzt bearbeitet:
Hallo
Was meinst du mit eingebettetes System?
Welches Linux nutzt du nun?
Falls du mit Cygwin oder ähnlichen Dingen arbeitest, ist diese Board der falsche Ort für Fragen dieser Art.
Mein Vorschlag sollte für alle Unix/Linux basierende Systeme mit der bash als Shell funktionieren.
Cygwin != Linux/Unix

Mein sed Vorschlag macht nix weiter, als die gesamte Datei einzulesen und im Falle der letzten Zeile alle \r und \n zu löschen und auszugeben.
Wie das im Fall eines sed für Windows oder Cygwin zu händeln ist, solltest du der Hilfe deines verwendeten sed oder Pseudo-Systemes entnehmen.

Gruß Wolfgang
 
p351412 schrieb:
Hallo !
Mein Problem könnt ihr ja schon der überschrift entnehmen...
ich habe eine Datei mit zwei gleichlangen Zeilen,die ich zusammen fassen möchte.
ABC31208123F^M
DEF123FEEE12^M
EDIT : habe das ^M noch hinzugefügt,das ist auch mein Problem...
als Beispiel ...
dies hab ich nun schön öfters mit echo $(cat DATEI) hinbekommen,doch dieses mal klappt es einfach nicht...
die Ursache des Problems habe ich auch schon gefunden,tu mir aber ein bisschen schwer diese zu beschreiben...also :
die zweite Zeile ist "angeklebt" ,d.h. ich muss,wenn ich mit einem gewögnlichen Editor arbeite ZWEIMAL die zurück taste drücken,damit sie an die erste Zeile dran gehängt wird...
ich hoffe,ihr könnt mir bei meinem Problem helfen...
MfG p351412
Hallo,

scheinbar handelt es sich um ein mit einem Windows-Editor bearbeitetes File - versuch mal mit folgendem Befehl die Datei in eine Unix gewöhnliche Datei umzuwandeln:
Code:
dos2unix <dateiname>
 
Zurück
Oben