IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Select "SECOND WORD" in text file


IBM Mainframe Forums -> SYNCSORT
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
jackare

New User


Joined: 27 Aug 2008
Posts: 35
Location: Brazil

PostPosted: Fri Aug 07, 2015 8:17 pm
Reply with quote

Hello everyone!
So... I have a text file like:

SORTIN (sample)
Code:

FIRST DAY
NEW DAY
TIME FOR FUN
MY NAME IS CARLOS


I need a result file with second word of each line, but problem is the start position of this second word is variable:

SORTOUT
Code:

DAY
DAY
FOR
NAME


I am trying to do this using a Syncsort utility, it's possible?
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7311
Location: Inside the Matrix

PostPosted: Fri Aug 07, 2015 8:22 pm
Reply with quote

Yes, have a look in the manual for PARSE. Many examples here, and elsewhere by search-engineing.
Back to top
View user's profile Send private message
sqlcode1

Active Member


Joined: 08 Apr 2010
Posts: 577
Location: USA

PostPosted: Sat Aug 08, 2015 12:17 am
Reply with quote

jackare,
Assuming your second word is always the one to start after (STARTAFT) first blank and ends before blank (ENDBEFR) and can be max 20 bytes (FIXLEN=20), below should work for you. Tested on DFsort.

Code:
//SYSIN    DD *                                             
  OPTION COPY                                               
  INREC PARSE=(%01=(STARTAFT=C' ',ENDBEFR=C' ',FIXLEN=20)),
        BUILD=(%01)                                         
/*                                                         
//*                                                         


Gives below output. If it doesn't work, look for PARSE in Syncsort manuals.

Code:
----+----1----+----2
DAY                 
DAY                 
FOR                 
NAME               



Thanks,
Back to top
View user's profile Send private message
jackare

New User


Joined: 27 Aug 2008
Posts: 35
Location: Brazil

PostPosted: Sat Aug 08, 2015 11:33 pm
Reply with quote

sqlcode1 wrote:
jackare,
Assuming your second word is always the one to start after (STARTAFT) first blank and ends before blank (ENDBEFR) and can be max 20 bytes (FIXLEN=20), below should work for you. Tested on DFsort.

Code:
//SYSIN    DD *                                             
  OPTION COPY                                               
  INREC PARSE=(%01=(STARTAFT=C' ',ENDBEFR=C' ',FIXLEN=20)),
        BUILD=(%01)                                         
/*                                                         
//*                                                         


Gives below output. If it doesn't work, look for PARSE in Syncsort manuals.

Code:
----+----1----+----2
DAY                 
DAY                 
FOR                 
NAME               



Thanks,



sqlcode1,
Very good!
Your tip works perfectly for my case. Thanks a lot
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> SYNCSORT

 


Similar Topics
Topic Forum Replies
No new posts Writng matched records into output fi... DFSORT/ICETOOL 6
No new posts Compare the file record count percent... DFSORT/ICETOOL 4
No new posts compare two file to find position/dat... SYNCSORT 2
No new posts Converting a file from PD to display ... SYNCSORT 4
No new posts Record count of RECFM=U tape file DFSORT/ICETOOL 17
Search our Forums:

Back to Top