• 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

    Want to deliver DevOps on IBM i?

    DevOps enables your IBM i development teams to shorten the software development lifecycle while delivering features, fixes, and frequent updates that are closely aligned with business objectives. Flexible configuration options within MDChange make it easy to adapt to new workflow strategies and policies as you adopt DevOps practices across your organization.

    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

  • AI Is Coming for ERP. How Will IBM i Respond?
  • The Power And Storage Price Wiggling Continues – Again
  • LaserVault Adds Multi-Path Support To ViTL
  • As I See It: Spacing Out
  • IBM i PTF Guide, Volume 27, Numbers 34, 35, And 36
  • The Power11 Transistor Count Discrepancies Explained – Sort Of
  • Is Your IBM i HA/DR Actually Tested – Or Just Installed?
  • Big Blue Delivers IBM i Customer Requests In ACS Update
  • New DbToo SDK Hooks RPG And Db2 For i To External Services
  • IBM i PTF Guide, Volume 27, Number 33

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