Porting of Windows written unix scripts to unix platform

Can anybody help me in finding out a solution for the problem below?

When we write .unix or .sh files in windows OS and port them to Unix platforms there is a character ^M inserted at the end of each line of the script file.

During ftp porting I set the transfer mode as ASCII for the script files where I ported files individually.Then there is no such problem.

But when we go for folder transfer where the folder has the script files dumped the problem comes again where the space is inserted with ^M at the end of lines...

Please help me in sorting out this soon..

Thanks in Advance.

Hi,

Most UNIX types have a util called like 'dos2unix'.

those utilities remove the ^M from the end of line.

In DOS/MS the line end with <cr><lf>, UNIX only uses <lf>, this is the reason for it.

it also possible do it with vi or sed, see next thread for more information

Thanks for your answers.

Let me explain my actual problem in detail.

We developed a product in windows and prepared installers both for windows and unix OS.The project files contains some unix scripts for the application to run on Unix OS.

So when we run the installer and install the product in Unix OS , the unix script files which get installed pertaining to the application have this ^M at the end of the lines.

So how to rectify the problem.

The solution you gave solves the problem in individual file porting.

But how about for the installer files and installer?

Please send me a solution.

Thanks in Advance

> We developed a product in windows and prepared installers
> both for windows and unix OS.The project files contains some
> unix scripts for the application to run on Unix OS.

> So when we run the installer and install the product in Unix
> OS , the unix script files which get installed pertaining to the
> application have this ^M at the end of the lines.

The obvious solution to the problem is to use an Editor that's capable of writing out Unix compatible files.

Probably the best commercial one for Windows users is TextPad http://www.textpad.com.

HTH

Kevin

Hi

Thanks fro your reply.

But we used only textpad to write the unix scripts.

I donot know what is the exact solution for the problem

Thanks
Tamilselvi

... if not, how are you porting the files from the windows platform to UNIX ? Some FTP clients will take care of this problem in the transfer - I think CuteFTP is one of them. www.cuteftp.com

If not come back and we'll try something else....

Here's one that was shown to me; on the unix box, run this perl 1 liner from the command line - replace "dos.file" with the file to be converted from dos to unix:

perl -i -pne 's/\r\n/\n/g' dos.file

the file will then be UNIX usable

:slight_smile: I love Perl! :cool:

During ftp porting I set the transfer mode as ASCII for the script files where I ported files individually.Then there is no such problem.

But when we go for folder transfer where the folder has the script files dumped the problem comes again where the space is inserted with ^M at the end of lines...

----------------------------------------------------------------------

Why dont u try setting the transfer mode to binary.

Perhaps, it might help !!

MK