fhg
Volume 7, Number 36 -- October 17, 2007

Converting LF to CRLF in IFS Files

Published: October 17, 2007

Hey, Ted:

I had a situation where I wanted to change the end-of-line character from linefeed to carriage-return/linefeed to make a JavaScript file on the Integrated File System more readable in Notepad. I stumbled upon EDIT FILE (EDTF), F15, option 5. Then, after a little searching, I found your articles. Talk about reinventing the wheel! I was surprised that changing end-of-line characters was not part of the CHANGE ATTRIBUTE (CHGATR) command (or some other command). Is there any chance you could share a Qshell solution that converts LF to CRLF? I love using Qshell when I can, but sometimes it really stumps me.

--Bruce

Your best bet might be the CL-command route. The following sequence of commands converts file test-lf to test-crlf.

CRTPF QTEMP/SAVE RCDLEN(256)

CPYFRMSTMF FROMSTMF('test-lf')
TOMBR('/QSYS.LIB/QTEMP.LIB/SAVE.FILE/SAVE.MBR')
mbropt(*replace) CPYTOSTMF FROMMBR('/QSYS.LIB/QTEMP.LIB/SAVE.FILE/SAVE.MBR')
TOSTMF('test-crlf') STMFCODPAG(*PCASCII) ENDLINFMT(*CRLF)

I looked for a Qshell solution and this is the only thing I could come up with.

touch -C 1252 test-crlf
while read line; do echo "$line\r"; done test-crlf

The touch utility creates a file with CCSID 1252, which is the same format you get when you specify CPYTOSTMF ... STMFCODPAG(*PCASCII). The while loop reads from standard input and writes to standard output. The echo command inside the while loop reads a line of the IFS file into a variable called line, then writes the line variable and carriage return to standard output.

I used the od utility to verify that each line of test-crlf was terminated with x'0D0A'.

od -tx test-crlf

Then I FTP'd both test-lf and test-crlf to my PC using a binary transfer. Notepad properly opened test-crlf, but not test-lf. However, there is one "feature" of this approach that may or may not be a problem: this method drops leading spaces from each line.

I talked to another Guru author, Bruce Guetzkow, who Googled and found the following sed command at a Web site called nixCraft.

sed 's/$'"/`echo \\\r`/" test-lf >test-crlf

I tested this method, and it worked for me.

By the way, Google also tells me that many shops use a unix2dos utility. If it's been ported to the System i, I'm not aware of it.

--Ted


RELATED STORIES

EDTF and End-of-Line Delimiters

EDTF and End-of-Line Delimiters, Take Two

Stream Files and End-of-Line Delimiters, Take Three



                     Post this story to del.icio.us
               Post this story to Digg
    Post this story to Slashdot


Sponsored By
GUILD COMPANIES

New Book: The System i RPG & RPG IV
Tutorial and Lab Exercises

 

This affordable self-study package by Brian Kelly was originally as a lab guide. The book comes packaged with a 1-2-3-type tutorial, lab exercises, and PowerPoint presentations with notes on the slides that make for handy reference material immediately available on your workstation.

 

You won't want to put down this comprehensive guide to learning System i RPG/RPG IV.

 

Price: $59.95
Get Your Copy at the IT Jungle bookstore today!


Senior Technical Editor: Ted Holt
Technical Editors: Howard Arner, Joe Hertvik, Shannon O'Donnell, Kevin Vandever
Contributing Technical Editors: Joel Cochran, Wayne O. Evans, Raymond Everhart,
Bruce Guetzkow, Brian Kelly, Marc Logemann, David Morris
Publisher and Advertising Director: Jenny Thomas
Advertising Sales Representative: Kim Reed
Contact the Editors: To contact anyone on the IT Jungle Team
Go to our contacts page and send us a message.

Sponsored Links

Computer Measurement Group:  CMG '07 International Conference, December 2-7, San Diego
Clearview Software International:  Mobilize your work force with CostarMobile 2.0
COMMON:  Join us at the annual 2008 conference, March 30 - April 3, in Nashville, Tennessee


 

IT Jungle Store Top Book Picks

The System i RPG & RPG IV Tutorial and Lab Exercises: List Price, $59.95
The System i Pocket RPG & RPG IV Guide: List Price, $69.95
The iSeries Pocket Database Guide: List Price, $59.00
The iSeries Pocket Developers' Guide: List Price, $59.00
The iSeries Pocket SQL Guide: List Price, $59.00
The iSeries Pocket Query Guide: List Price, $49.00
The iSeries Pocket WebFacing Primer: List Price, $39.00
Migrating to WebSphere Express for iSeries: List Price, $49.00
iSeries Express Web Implementer's Guide: List Price, $59.00
Getting Started with WebSphere Development Studio for iSeries: List Price, $79.95
Getting Started With WebSphere Development Studio Client for iSeries: List Price, $89.00
Getting Started with WebSphere Express for iSeries: List Price, $49.00
WebFacing Application Design and Development Guide: List Price, $55.00
Can the AS/400 Survive IBM?: List Price, $49.00
The All-Everything Machine: List Price, $29.95
Chip Wars: List Price, $29.95


 
The Four Hundred
New System i 525 Solution Editions Debut, 570 Gets Tweaked

IBM Adds Web Services and SOA Tools to the System i

Zend Puts Out New Release of Commercial-Grade PHP

AS/400s Are From Rochester, RS/6000s Are From Austin

The Linux Beacon
Red Hat and Novell Nailed by First Linux Lawsuit

Niagara-2 Chips Double Entry Sparc Server Performance

Zend Puts Out New Release of Commercial-Grade PHP

As I See It: Great Looking Genes

Four Hundred Stuff
CYBRA Teams with Solzon to Develop i5/OS RFID Software

ProData's Remote Database Access Tool Gains Automation

Real Vision Software Delivers RVI 8.0

Vision Tackles i5/OS Application Performance with Director 7.0

Big Iron
Growing Businesses, Upgrades Drive IT Hiring in Q4

Top Mainframe Stories From Around the Web

Chats, Webinars, Seminars, Shows, and Other Happenings

System i PTF Guide
October 6, 2007: Volume 10, Number 40

September 29, 2007: Volume 9, Number 39

September 22, 2007: Volume 9, Number 38

September 15, 2007: Volume 9, Number 37

September 8, 2007: Volume 9, Number 36

September 1, 2007: Volume 9, Number 35

The Windows Observer
Six Patches Issued by Microsoft, One Held Back Again

VMware Previews Future Hypervisor, Creates SMB Bundles

Akamai Debuts Service to Speed Any IP-Based Application

Microsoft Wants To Manage Your Health Records

The Unix Guardian
Niagara-2 Chips Double Entry Sparc Server Performance

Akamai Debuts Service to Speed Any IP-Based Application

IBM Tweaks BladeCenter S for the Office, Preps Power6 Blades

Growing Businesses, Upgrades Drive IT Hiring in Q4

Four Hundred Monitor
Four Hundred Monitor's
Full iSeries Events Calendar

THIS ISSUE SPONSORED BY:

ProData Computer Services
Guild Companies
WorksRight Software


Printer Friendly Version


TABLE OF CONTENTS
Controlling System i Shutdown Activities Using An Intelligent Power-Handling Program, Part II

Converting LF to CRLF in IFS Files

Reader Feedback: More on Vendor Names and Changing System Names

Four Hundred Guru

BACK ISSUES

From the IT Jungle Forums
Finding *OUTFILE Template Files

i5/OS V5R4 Release Notes

MCH1202

Crashing processes!

SQL 'Hidden' Field





 
Subscription Information:
You can unsubscribe, change your email address, or sign up for any of IT Jungle's free e-newsletters through our Web site at http://www.itjungle.com/sub/subscribe.html.

Copyright © 1996-2008 Guild Companies, Inc. All Rights Reserved.
Guild Companies, Inc., 50 Park Terrace East, Suite 8F, New York, NY 10034

Privacy Statement