• The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
Menu
  • The Four Hundred
  • Subscribe
  • Media Kit
  • Contributors
  • About Us
  • Contact
  • Case-Insensitive Searching Of Spooled Files

    March 3, 2015 Ted Holt

    We rely heavily on the DSPSPLF (Display Spooled File) command. We use it all day long, you and I, usually by selecting option 5 from various work-with displays. And yet this workhorse on which we depend suffers from a glaring deficiency–searching for text is case-sensitive. We expect case sensitivity from primitive operating systems like Unixsaurus, but not from the powerful IBM i. Here are a few ways to locate text in spooled files regardless of case.

    First is the modern–and in my opinion, the best–way: IBM Navigator for i, the browser application that replaces System i Navigator. This app runs on port 2001 and requires that the *ADMIN instance of the HTTP server be running. If you haven’t tried it yet, I encourage you to do so. For more information about Navigator for i, visit the Navigator for i Web page.

    Expand Basic Operations and click on Printer Output to get a list of your spooled files.

    Figure 1

    (Click graphic to enlarge.)

    You can open a spooled file in a viewer or as a PDF. Either way, you have a case-insensitive search option.

    Maybe you need something that doesn’t require a browser, something that runs in a batch job perhaps. A second method to search a spooled file is with SQL. Create a temporary physical file if you don’t have one already.

    crtpf mylib/splf rcdlen(132)
    

    Copy the spooled file to the temporary file.

    CPYSPLF FILE(QPJOBLOG) TOFILE(MYLIB/SPLF)
       JOB(123456/MYSELF/MYJOB) SPLNBR(3) CTLCHAR(*NONE)
    

    Use SQL to query the physical file.

    select * from mylib/splf
     where upper(splf) like '%SMITH''
    

    The query yields something like the following:

    Smith Widget Mfg Corp                   45.00     7.91        21
    Joe Smitherman, Esq.                   150.00     2.80         6
    Billy Gunsmith                          28.00    14.02       300
    LO-SMITHY-DIN                             .00     3.75        93
    

    You can also use Qshell to search spooled files. Use the catsplf utility to pipe the spooled file into the tr utility, which translates the text from lowercase to uppercase. Pipe the uppercase text into grep to find the search string.

    catsplf -j 476583/MYSELF/MYJOB QSYSPRT 1 | tr 'a-z' 'A-Z' | grep 'SMITH'
    

    Or:

    catsplf -j 476583/MYSELF/MYJOB QSYSPRT 1 | tr '[:lower:]' '[:upper:]' | 
    grep 'SMITH'
    

    Output looks like this:

    1 SMITH WIDGET MFG CORP                   45.00     7.91        21
    3 JOE SMITHERMAN, ESQ.                   150.00     2.80         6
    4 BILLY GUNSMITH                          28.00    14.02       300
    6 LO-SMITHY-DIN                             .00     3.75        93
    

    If you want to see the text without converting the text, try this version of grep instead:

    catsplf -j 270234/MYSELF/MYJOB QSYSPRT 1 | grep [Ss][Mm][Ii][Tt][Hh]
    

    The grep expression tells the system to look for a upper- or lowercase s followed by an upper or lowercase m followed by . . . . You’ll get output like this:

    1 Smith Widget Mfg Corp                   45.00     7.91        21
    3 Joe Smitherman, Esq.                   150.00     2.80         6
    4 Billy Gunsmith                          28.00    14.02       300
    6 LO-SMITHY-DIN                             .00     3.75        93
    

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Tags:

    Sponsored by
    Trinity Guard

    Register to Attend: Get Your Guard Up!

    Cyberattacks are on the rise and projected to grow further in 2021. This remains true even on Power Systems, especially for Linux and IBM i IFS.

    Join this 1-hour session to learn how to identify vulnerabilities and secure Power Systems from costly security breaches.

    Thursday, February 18

    12 Noon CT  / 10AM PT  /  1PM ET

    Share this:

    • Reddit
    • Facebook
    • LinkedIn
    • Twitter
    • Email

    Sponsored Links

    LaserVault:  Outperforming Tape: Faster IBM i Backups with Fibre Channel. Webinar - March 3
    BCD:  Modernize Your IBM i Document Design and Distribution. Free Webinar: March 5
    System i Developer:  Upgrade your skills at the RPG & DB2 Summit in Dallas, March 17-19

    IBM Boosts Capacity On FlashSystem Arrays There Is No Lack Of RPG Programmers, IBM i Community Contends

    One thought on “Case-Insensitive Searching Of Spooled Files”

    • shaychuk says:
      September 6, 2020 at 9:43 am

      thank you, I find catsplf command unusable when there are many spool files to search from after some time it starets running very slow are there any alternatives ?

      Reply

    Leave a Reply Cancel reply

Volume 15, Number 04 -- March 3, 2015
THIS ISSUE SPONSORED BY:

WorksRight Software
Bug Busters Software Engineering
Northeast User Groups Conference

Table of Contents

  • Old Stuff, New Ways: Avoiding Record Locks
  • Case-Insensitive Searching Of Spooled Files
  • Git To GitHub

Content archive

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

Recent Posts

  • 2021 Predictions for IBM i: Part Two
  • Zend Server for IBM i Now 64-Bit, Available Via RPM
  • New IBM i Logo, Publication
  • Four Hundred Monitor, January 20
  • IBM i PTF Guide, Volume 23, Number 3
  • IBM i Software And Power Systems Upgrades Keep Rolling Forward
  • Preparing For What’s Next In A Thoughtful, Structured Way
  • Guru: Fall Brings New RPG Features, Part 3
  • ARCAD Plugs IBM i DevOps Suite Into Microsoft Azure
  • Park Place Buys Curvature To Become Maintenance Goliath

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 © 2021 IT Jungle

loading Cancel
Post was not sent - check your email addresses!
Email check failed, please try again
Sorry, your blog cannot share posts by email.