Thank you 

I did "od -c myfile | less" and the SFTP-ed file did not have "\r".
I run "sed  s/$/\\x0d/   <infile>  > <outfile>"  the new output file has the
"\r" (and the correct number of bytes).  
I will test ftp to mainframe tomorrow, to verify that the problem is fixed

Thanks again for all the help I got.

Tomasz 

-----Original Message-----
From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Stewart
Thomas J
Sent: Wednesday, July 09, 2008 1:16 PM
To: LINUX-390@VM.MARIST.EDU
Subject: Re: SFTP versus FTP

For reference, these are what you'll be looking for in your od output:

CRLF - Carriage Return Line Feed (ASCII x'0D0A', escape sequence '\n'). Used
on Windows (DOS) platforms.
CR    - Carriage Return (ASCII x'0D', escape sequence '\r'). Early Mac,
before it became Unix based.
LF     - Line Feed (ASCII x'0A', EBCDIC x'25'). Unix and Unix-like systems
(Linux, AIX, Mac OS X+).
NL    - New Line or Next Line (EBCDIC x'15'). EBCDIC systems (IBM mainframe,
i5/OS).

I'd be guessing the file in Unix has x'0D0A' at the end, then when it gets to
Linux it just has x'0A'.

I believe the z/OS FTP client is expecting the data to end with x'0D0A' to
bring it in correctly. I would recommend running a utility on the Linux side
to change the data to the way it should be. Look at the dos2unix and unix2dos
utilities. Or try sed with somethink like one of these:
sed  s/.$//   <infile>   >   <outfile>
sed  s/$/\\x0d/   <infile>   >   <outfile>

Good reference: http://homepage.smc.edu/morgan_david/CS41/lineterminators.htm

Other than that you'd have to look at the man pages for the sftp software you
are using between Linux and Unix to see if there is something you can specify
to make it  do a binary transfer.

You don't want to do a binary transfer from Linux to z/OS, or else you'll
still have to translate the data on z/OS and strip out the end-of-line
characters. Of course, it has lots of options for that. We do some transfers
where we do binary FTP them to z/OS and then use the iconv and Unix System
Services cp command to translate them and transform the end-of-line
characters.


-----Original Message-----
From: Linux on 390 Port [mailto:[EMAIL PROTECTED] On Behalf Of Edmund
R. MacKenty
Sent: Wednesday, July 09, 2008 1:02 PM
To: LINUX-390@VM.MARIST.EDU
Subject: Re: SFTP versus FTP

On Wednesday 09 July 2008 13:00, Szwed, Tomasz A CIV USMEPCOM wrote:
> I have a file on Unix server.  When I transfer that file from Unix to 
>Linux using FTP - I'm getting file with the same size.
>When I use SFTP, I'm getting file smaller by 79 bytes.  The file has 79 
>lines.
>That file is then FTP from Linux to z/OS - using FTP batch job on z/OS 
>(using "get" command).
>The file which was FTP-ed (from Unix to Linux) can be read on z/OS, the 
>file which was SFTP-ed (from Unix to Linux) shows only first line.
>When I used "set list" command (vi editor on Linux) - I can see "$"
>(end of line character) on both files (in the same column).
>
>1.  How can I find out which character is lost during SFTP process?
>(I'm assuming that some control character is lost).  How can I get that 
>file  using SFTP without losing any characters?

You can use the od (octal dump) command on UNIX or Linux to look at the
values of each byte in the file.  Use the -c option to output printable ASCII
characters as themselves, carriage-return and newline as "\r" and "\n", and
other control characters as octal values.  For example:
        od -c myfile | less

>2.  Any other suggestion how to go around the problem? - I have to use 
>the file which was SFTP-ed from Unix to Linux on z/OS (I cannot use the 
>FTP-ed file).

Transfer the file in BINARY mode instead of ASCII.  Use the "bin" command in
your FTP client to do that.
        - MacK.
-----
Edmund R. MacKenty
Software Architect
Rocket Software, Inc.
Newton, MA USA

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions, send email
to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to