Subject: Unix <--> MS-DOS conversions 3. ***** Q: How do I convert Unix text files to PC files, and vice versa? A: This is maybe not be an actual FTP question, but it is so closely related to file transfers that it is at home here in faqftp.txt in ftp://garbo.uwasa.fi/pc/ts/tsfaqn44.zip. > I need to convert a Unix text file to a PC text file. How can I do > that? Unix and MS-DOS use different eolns (end of lines) for text files. In Unix the next line character is ascii 10, while MS-DOS uses an ascii 13 ascii 10 pair. You can do the conversion in several different ways. 1) If the text file with the Unix eolns is not already on your PC, first transfer the Unix file in binary mode from your Unix host to your PC. Convert the file with the Unix eolns on your PC. There are many programs that can do the conversion, like "UNIX2PC.EXE Unix text eolns to PC eolns" from 122356 Apr 1 13:51 ftp://garbo.uwasa.fi/pub/pc/ts/tsfilt22.zip tsfilt22.zip Programs for filtering messages, log files, Unix-PC, etc. or "FILGEN.EXE Generalized filter for any file" "UNIX2PC.XLT Unix newlines to PC newlines" from 68793 Feb 20 14:04 ftp://garbo.uwasa.fi/pc/ts/tsfltb18.zip tsfltb18.zip Easily customizable general filters, for text or binary. or 14395 Jul 26 1989 ftp://garbo.uwasa.fi/pc/unix/flip1exe.zoo flip1exe.zoo Do newline conversions between *NIX and MS-DOS The advantage with flip is that it preserves data stamps and it works both ways (Unix -> MS-DOS, MS-DOS -> Unix). You can also preserve date stamps by using U2PC.BAT "Change Unix eolns to MS-DOS eolns" from tsfilt22.zip. Another advantage of flip is that it can take wild cards for the files to be flipped. 2) Do the conversion from Unix eolns to MS-DOS eolns already at your Unix host using a Unix filter like 830 Mar 18 1993 ftp://garbo.uwasa.fi/unix/ts/unix2pc unix2pc Filter Unix end of lines to PC end of lines, T.Salmi or a program like 26409 Dec 5 1992 ftp://garbo.uwasa.fi/unix/fileutil/flip.tar.Z flip.tar.Z Covert text file eolns between MS-DOS and Unix 3) The third option is complicated the first time out if you do not already have the necessary facilities installed, but once you do, it is perhaps the best alternative, since it decreases the size of the file to be transferred. I use this option quite a lot myself. First make a .zip file of your Unix text file on your Unix host. For this you will need to have the zip program on your Unix host. The Unix .zip is available from the /unix/arcers directory at Garbo archives as 304911 Sep 23 21:12 ftp://garbo.uwasa.fi/unix/arcers/zip201.tar.Z zip201.tar.Z Info-ZIP's portable zipper (Unix,VMS,..), 2.04 compatible If you do not know how to handle that, get 1781 Aug 12 00:26 ftp://garbo.uwasa.fi/unix/arcers/zipmake.inf zipmake.inf Making Info-ZIP's Zip operational, example by T.Salmi. When you have the zip program on your Unix host apply zip -l -9 -j -o MyZip.zip MyText.txt The -l switch is the crucial switch. Transfer the MyZip.zip file from your Unix host to your PC in the binary mode. Then unzip it applying for example "PKUNZIP MYZIP.ZIP" using pkunzip.exe from 202574 Feb 1 1993 ftp://garbo.uwasa.fi/pc/arcers/pkz204g.exe pkz204g.exe PKWARE's pkzip, pkunzip, pkzipfix, zip2exe for .zip or unzip.exe from 229715 Aug 3 14:48 ftp://garbo.uwasa.fi/pc/arcers/unz511x3.exe unz511x3.exe Info-ZIP's self-extracting unzipper (with 386 version) 4) If the file transfer program that you use has the option, use the ascii transfer mode in transferring the Unix text file from your Unix host to your PC. Then you need no conversions. 5) Some editors can handle the different eolns in their stride. All that is needed is to resave the Unix text file with the editor on your PC. For example you can use 200006 Oct 25 04:00 ftp://garbo.uwasa.fi/pc/editor/tsejr4.zip tsejr4.zip The SemWare Editor Jr, former QEdit, very good, nagware or 404275 Dec 14 02:00 ftp://garbo.uwasa.fi/pc/demo/tsetd2.zip tsetd2.zip The SemWare Editor (TSE) v2.0 Demo/Test-Drive --- > I need to convert an MS-DOS text file to a Unix text file to get > rid of the ^M at the end of each line. How can I do that? Again there are several options which mirror the ones above. 1) If the text file with the MS-DOS eolns is not already at your Unix host, first convert the MS-DOS text file on your PC. The transfer in the binary mode from you PC to your Unix Host. There are many programs that can do the conversion, like "PC2UNIX.EXE PC text eolns to Unix eolns" from 122356 Apr 1 13:51 ftp://garbo.uwasa.fi/pub/pc/ts/tsfilt22.zip tsfilt22.zip Programs for filtering messages, log files, Unix-PC, etc. or "FILGEN.EXE Generalized filter for any file" "PC2UNIX.XLT PC newlines to Unix newlines" from 68793 Feb 20 14:04 ftp://garbo.uwasa.fi/pc/ts/tsfltb18.zip tsfltb18.zip Easily customizable general filters, for text or binary. or 14395 Jul 26 1989 ftp://garbo.uwasa.fi/pc/unix/flip1exe.zoo flip1exe.zoo Do newline conversions between *NIX and MS-DOS or 11313 Feb 23 15:42 ftp://garbo.uwasa.fi/pc/fileutil/dos2unx1.zip dos2unx1.zip Convert MS-DOS text files to UNIX, both ways, E.Danylieko 2) If the file is not already at your Unix host, first transfer the text file from your PC to your Unix host in the binary mode. Convert the text file with MS-DOS eolns on your Unix host using a Unix filter like 876 Oct 13 1993 ftp://garbo.uwasa.fi/unix/ts/pc2unix pc2unix Filter PC end of lines to Unix end of lines, T.Salmi or a program like 26409 Dec 5 1992 ftp://garbo.uwasa.fi/unix/fileutil/flip.tar.Z flip.tar.Z Covert text file eolns between MS-DOS and Unix 3) Zip your text file on your PC, transfer the zip file in the binary mode to your host, and then unzip it at your host using "unzip -a YourZip". I use this quite a lot myself, since it makes it easy to transfer many text files at one go, and besides it reduces the size of the material that has to be transferred. You will naturally need the unzip program at your Unix host. It is readily available as 525840 Sep 1 07:47 ftp://garbo.uwasa.fi/unix/arcers/unzip512.tar.Z unzip512.tar.Z Info-ZIP's UnZip, portable C source code If you do not know how to handle that, get 1806 Sep 2 13:15 ftp://garbo.uwasa.fi/unix/arcers/unzmake.inf unzmake.inf Making Info-ZIP's UnZip operational, example by T.Salmi 4) If the file transfer program that you use has the option, use the ascii transfer mode in transferring the MS-DOS text file from your PC to your Unix host. Then you need no conversions. --- For us Scandinavians with diacritical characters that, unfortunately, is not all there is to it. One needs translations between the upper ascii and their lower ascii counterparts. There are several MS-DOS programs for the purpose like "TOASC.EXE 8bit ibm to Scandinavian 7 ascii" "TOASCI.EXE 8bit ibm to International 7ascii" "TOIBM.EXE 7 ascii to Scandinavian 8bit ibm" from 122356 Apr 1 13:51 ftp://garbo.uwasa.fi/pub/pc/ts/tsfilt22.zip tsfilt22.zip Programs for filtering messages, log files, Unix-PC, etc. For doing the conversions on your Unix host there are simple Bourne shell scripts like 772 Jan 28 07:50 ftp://garbo.uwasa.fi/unix/ts/asc2ibm asc2ibm Filter 7-bit Scandinavian characters to 8-bit characters and 2479 Oct 3 10:26 ftp://garbo.uwasa.fi/unix/ts/ibm2asc ibm2asc Filter 8-bit Scandinavian characters to 7-bit characters Furthermore, you might need 772 Jan 28 07:49 ftp://garbo.uwasa.fi/unix/ts/asc2lat1 asc2lat1 Convert 7-bit Scandinavian characters to 8-bit latin1 and 989 Feb 4 07:47 ftp://garbo.uwasa.fi/unix/ts/ibm2lat1 ibm2lat1 Convert 8-bit Scandinavian PC characters to 8-bit latin1 or even 794 Feb 13 09:15 ftp://garbo.uwasa.fi/unix/ts/lat12ibm lat12ibm Convert 8-bit latin1 scandies to 8-bit IBM PC scandies --------------------------------------------------------------------