• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Converting LF to CRLF in IFS Files

    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 "$liner"; 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

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    Midrange Dynamics North America

    Accelerate Change & Integration on IBM i

    Good change management unites IBM i and open systems development for productive collaboration. Developers work with their preferred tools and IDEs. Ultimate version control and traceability mean fast bug fixes and less stress. Rollback to a stable version in seconds.

    Change management gives managers, operations teams, and auditors the visibility they need, and developers can focus on what they like best: building great applications.

    Learn More

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    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

    Gas Barbeque Distributor Upgrades its Infor ERP State of the System i: First-Hand Reports from Second-Hand Dealers

    Leave a Reply Cancel reply

Volume 7, Number 36 -- October 17, 2007
THIS ISSUE SPONSORED BY:

ProData Computer Services
Guild Companies
WorksRight Software

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

Content archive

  • The Four Hundred
  • Four Hundred Stuff
  • Four Hundred Guru

Recent Posts

  • To Comfort The Afflicted And Afflict The Comfortable
  • How FalconStor Is Reinventing Itself, And Why IBM Noticed
  • Guru: When Procedure Driven RPG Really Works
  • Vendors Fill In The Gaps With IBM’s New MFA Solution
  • IBM i PTF Guide, Volume 27, Number 27
  • With Power11, Power Systems “Go To Eleven”
  • With Subscription Price, IBM i P20 And P30 Tiers Get Bigger Bundles
  • Izzi Buys CNX, Eyes Valence Port To System Z
  • IBM i Shops “Attacking” Security Concerns, Study Shows
  • IBM i PTF Guide, Volume 27, Number 26

Subscribe

To get news from IT Jungle sent to your inbox every week, subscribe to our newsletter.

Pages

  • About Us
  • Contact
  • Contributors
  • Four Hundred Monitor
  • IBM i PTF Guide
  • Media Kit
  • Subscribe

Search

Copyright © 2025 IT Jungle