• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[aufgegeben] Textdateien auf der Konsole umcodieren

Fat_Fox

Hacker
Hi@all

Linux und windows verstehen sich ja bei den textdateien nicht richtig wegen anderer Zeilenendmarken und Zeichensätze, ich suche ein Programm für die konsole mit dem ich unter linux textdateien ins windows format bringen kann.

ich habe hierzu in einem how to das programm recode gefunden das soetwas erledigen sollte aber leider gibt es das bei rpm seek nur bis suse linux 9.3 und ich würde es unter der 10.0 benötigen.

habt ihr noch andere möglichkeiten das zu lösen ? oder eine quelle für die 10.0 ? oder ist in den bordmitteln schon sowas dabei ?

Danke im Vorraus
 
A

Anonymous

Gast
siehe auch hier, http://www.linux-club.de/viewtopic.php?t=66278&highlight=dos2unix

allerdings konvertiert das nur die Zeilenenden, die ÄÖÜßäöü kannst du aber bequem mit einem kleinem sed oder tr Aufruf konvertieren. Den gibts im Internet an ein paar Ecken zu ergoogeln.

robi
 
OP
F

Fat_Fox

Hacker
also, erstmal danke an alle für ihre antworten, es ist so:

unix2dos war nicht installiert allerdings hat smart es gefunden, aber es funktioniert nicht in erwarteter weise, mit dem aufruf:

Code:
unix2dos -n quelldatei zieldatei

meldet er zwar converting quelldatei to zieldatei in DOS Format und springt zurück zur eingabezeile, aber die zieldatei ist leer (wenn ich sie unter linux mit kate öffne) und unter windows kommt ein zugriffs fehler (zugriff verweigert)

reode war in einer späteren version bereits installiert, allerdings bringt auch ein

Code:
recode ibmpc quelldatei


einen fehler (Mehrdeutige Ausgabe in CR-LF..data), mit der force option ist er still aber das ändert nichts daran das die datei genau wie vorher ausschaut.

@jengelh

iconv findet sich auch bei meiner suse allerdings war mir unklar was die perl geschichte in deinem vorschlag tut, desswegen habe ich es mit dem reinen iconv versucht und leider mit diesem befehl

Code:
iconf -f iso8859-1 -t utf -o zieldatei quelldatei

keinen erfolg gehabt die ziel und quelldatei sind identisch im unix format.

ich hatte nicht gedacht das das so schwer ist, nochmal ich habe unix format und will windows so dass wenn ich die konvertierte datei unter windows öffne, diese genauso schön dargestelltet wird wie die quelldatei unter linux.

hergestellt sind die überdies in nem script das folgenden systemaufrf durchführt:

Code:
ifconfig > zieldatei

alle versuche habe ich als root unter suse 10.0 gemacht, für weitere hilfe danke ich euch im vorraus.
 
Fat_Fox schrieb:
iconv findet sich auch bei meiner suse allerdings war mir unklar was die perl geschichte in deinem vorschlag tut, desswegen habe ich es mit dem reinen iconv versucht und leider mit diesem befehl
Code:
iconf -f iso8859-1 -t utf -o zieldatei quelldatei
keinen erfolg gehabt die ziel und quelldatei sind identisch im unix format.
Das Perl-Ding entfernt alle CRs sodass aus CRLF-Zeilenendungen (Windows) LF-Zeilenendungen (UNIX) werden.
 

pft

Advanced Hacker
also ich hab ja schon oft vermeintlichen fehler gehabt, von denen ich dachte wieso merk ich das jetzt und nicht schon tausend andere - aber das hier kommt mir doch komisch vor.

Bei mir passiert unter SuSE9.1 als root das:
Code:
# ifconfig > test
# unix2dos -n test test.txt
unix2dos: converting file test to file test.txt in DOS format ...
# wc test.txt
  37  158 2119 test
  37  158 2156 test.txt
  74  316 4275 total

woran man sehr schön erkennen kann, dass es funktioniert (2119+37=2156)
Unter 10.1 ist es übrigens dasselbe.

Ergo hast Du mit hoher Wahrscheinlichkeit ein anderes Problem
- Lese-/Schreibrechte?
- unix2dos installation? hast DU irgendwelche offenen abhängigkeiten ignoriert?
- Ist die Originaldatei wirklich nicht leer (sorry ist ne blöde farge, kommt aber vor)
Mehr fällt mir auf die Schnelle nicht ein - heißt aber nicht, dass es da nicht noch Möglichkeiten gäbe :)
 
OP
F

Fat_Fox

Hacker
Guten morgen allerseits,

nein die originaldatei ist nicht leer sie enthält genau das erwartete unter linux schön geordnet, und unterwin dows halt dasselbe ohne zeilenumbrüche.

lese und schreibrechte habe ich, da ich, wie oben stet, alles als root probiert habe, und wenn der es nicht darf wer dann ? (überdies gehören die dateien auch root, die wurden nemich von ihm erstellt, sonst darf ich nehmich kein ifconfig machen *G*)

unix2dos habe ich mit smart installiert und ein which unix2dos bring auch ne vernünftige ausgabe (/usr/bin/unix2dos glaub ich weiß es aber nicht sicher) die installation mit smart sollte eigentlich alle abhänigkeiten aufgelöst haben, ich werd es heut nochmal runter werfen und mit yast installieren

genau diese zeile kommt bei mir auch:

unix2dos: converting file test to file test.txt in DOS format ...

allerdings nichts weiter (das wird ja kaum so lange dauern oder ?)

oder bekommt der probleme mit meinem dateinamen ? die quelldatei heußt nemich schon ifconfig.txt und die neue datei würde ich dann ifconfig_dos.txt nennen, oder soll ich die linux datei lieber ohne erweiterung benennen ?

noch was zur quelldatei:

die wird in einem script erzeugt welches mit rootrechten ausgeführt wird, macht aber an und für sich nix weiter als ifconfig > ifconfig.txt
und kopiert dann ifconfig.txt auf eine diskette.

hier mal der Quellcode:

Code:
#! /usr/bin/yabasic

PRINT "Network Info Center Ver. 0.1"
PRINT ""
PRINT "Bitte legen Sie eine formatierte diskette in Laufwerk fd0 ein !"
PRINT " "

WAIT 3

PRINT "Ermittle Interface-Daten..........";
rueckgabewert$ = SYSTEM$("ifconfig > ifconfig.txt")
PRINT "fertig"

WAIT 2

PRINT "Ermittle UP-Time des PCs..........";
rueckgabewert$ = SYSTEM$("uptime > uptime.txt")
PRINT "fertig"

WAIT 2

PRINT "Kopiere infos auf eine Diskette...";
rueckgabewert$ = SYSTEM$("mount /dev/fd0 /media/floppy1")
rueckgabewert$ = SYSTEM$("cp /home/Fat_Fox/Desktop/*.txt /media/floppy1")
rueckgabewert$ = SYSTEM$("umount /media/floppy1")
PRINT "fertig"

WAIT 2
 

pft

Advanced Hacker
also an der Endung liegt es sicherlich nicht.
So gesehen bin ich nun etwas ratlos.

Was das Skript angeht kannst Du Probleme dadurch ausschliessen, dass Du das ganze mal manuell auf der Konsole machst.

Versuch doch mal den Fehler einzugrenzen statt hier auf göttliche Eingebung zu warten :)

Man könnte sich auch vorstellen, dass die Datei noch offen ist - eigentlich nicht aber wer weiß schon was dein basic da tut. Ich jedenfalls nicht.
 
OP
F

Fat_Fox

Hacker
da mir nichts des hier vorgeschlagenen wirklich zu helfen scheint habe ich das thema vorerst aufgegeben, zumal der firefox unter windows wie linux die datei korrekt formatiert ausgibt habe ich hier meine im script gesammelten infos unter beiden plattformen vernünftig formatiert und lesbar, ein work arround also.

Danke nochmal an alle die sich um eine Lösung bemüht haben.
 
Oben