922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ Record to Outp


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers 922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ Record to Outp
# 1  
Old 07-01-2011
922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ Record to Outp

My input file like this
Code:
03,105581,,015,+00000416418,,,901,+00000000148,,,922,+00000000354,,/
03,113806,,015,+00000559618,,,901,+00000000096,,,922,+00000000621,,/
03,188986,,015,+00005211517,,,901,+00000002227,,,922,+00000005308,,/
03,5313228,,015,+00055806568,,,045,+00055806568,,,901,+00000011697,,/
03,5313236,,015,+00231036992,,,045,+00231036992,,,901,+00000048428,,/
03,10921029,,015,+00000000000,,,901,+00000000000,,,922,+00000000000,,/

My question is
  • 922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ Record to Output File untouched.

Last edited by radoulov; 07-01-2011 at 08:07 AM.. Reason: Code tags.
# 2  
Old 07-01-2011
Please specify the desired output.
# 3  
Old 07-01-2011
Code:
awk -F, '$(NF-3)==922{$(NF-3)=901}1' OFS=, infile

Use nawk or /usr/xpg4/bin/awk if running SunOS/Solaris plateform.


Code:
# cat tst
03,105581,,015,+00000416418,,,901,+00000000148,,,922,+00000000354,,/
03,113806,,015,+00000559618,,,901,+00000000096,,,922,+00000000621,,/
03,188986,,015,+00005211517,,,901,+00000002227,,,922,+00000005308,,/
03,5313228,,015,+00055806568,,,045,+00055806568,,,901,+00000011697,,/
03,5313236,,015,+00231036992,,,045,+00231036992,,,901,+00000048428,,/
03,10921029,,015,+00000000000,,,901,+00000000000,,,922,+00000000000,,/
# nawk -F, '$(NF-3)==922{$(NF-3)=901}1' OFS=, tst
03,105581,,015,+00000416418,,,901,+00000000148,,,901,+00000000354,,/
03,113806,,015,+00000559618,,,901,+00000000096,,,901,+00000000621,,/
03,188986,,015,+00005211517,,,901,+00000002227,,,901,+00000005308,,/
03,5313228,,015,+00055806568,,,045,+00055806568,,,901,+00000011697,,/
03,5313236,,015,+00231036992,,,045,+00231036992,,,901,+00000048428,,/
03,10921029,,015,+00000000000,,,901,+00000000000,,,901,+00000000000,,/
#

# 4  
Old 07-06-2011
This code showing error

---------- Post updated at 12:23 AM ---------- Previous update was at 12:04 AM ----------

My out file like this
03,5313236,,015,+00231036992,,,045,+00231036992,,,901,+00000048428,,/
03,5554853,,015,+00000000000,,,045,+00000000000,,,901,+00000000000,,/
03,12012241,,015,+00003920049,,,045,+00003920049,,,901,+00000000100,,/
# 5  
Old 07-06-2011
So what do you want :

a) You want 922 be changed into 901 ?
(see previous code)
or
b) You want filter out lines that have 922 ?
Then give a try to :
Code:
nawk -F, '($1==03)&&($(NF-3)==922){next}1' infile


Last edited by ctsgnb; 07-06-2011 at 05:25 AM..
This User Gave Thanks to ctsgnb For This Post:
# 6  
Old 07-06-2011
i want fileter out line that have 922
# 7  
Old 07-06-2011
Quote:
Originally Posted by sgoud
i want fileter out line that have 922
Did you give a try to my previous suggestion ? if so, does it gove what you expect ?
if not please give more clue.

Give a try to this :
Code:
awk -F, '$(NF-3)!=922' yourfile

(this code is less restrictive : it doesn't check wether the first field is '03' or not.)

If you are on a SunOS/Solaris plateform, then use "nawk" or "/usr/xpg4/bin/awk" instead of "awk"
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Need code for updating second record to first record in shell scripting

Hi,, I have requirement that i need to get DISTINCT values from a table and if there are two records i need to update it to one record and then need to submit INSERT statements by using the updated value as a parameter. Here is the example follows.. SELECT DISTINCT ID FROM OFFER_GROUP WHERE... (1 Reply)
Discussion started by: Samah
1 Replies

2. Shell Programming and Scripting

Code snippet to cut XML files based on record length

I want to do FTP an Huge XML file to mainframe server using AIX server Since my file size is huge, i want to split the XML file based on a delimiter , the record delimiter should be set after every 27000 bytes of data and then do the ftp This is done becos the data send to the mainframe must... (1 Reply)
Discussion started by: vishwanath001
1 Replies

3. Shell Programming and Scripting

Extract timestamp from first record in xml file and it checks if not it will replace first record

I have test.xml <emp><id>101</id><name>AAA</name><date>06/06/14 1811</date></emp> <Join><id>101</id><city>london</city><date>06/06/14 2011</date></join> <Join><id>101</id><city>new york</city><date>06/06/14 1811</date></join> <Join><id>101</id><city>sydney</city><date>06/06/14... (2 Replies)
Discussion started by: vsraju
2 Replies

4. Shell Programming and Scripting

How to compare current record,with next and previous record in awk without using array?

Hi! all can any one tell me how to compare current record of column with next and previous record in awk without using array my case is like this input.txt 0 32 1 26 2 27 3 34 4 26 5 25 6 24 9 23 0 32 1 28 2 15 3 26 4 24 (7 Replies)
Discussion started by: Dona Clara
7 Replies

5. Shell Programming and Scripting

Reject the record if the record in the next line does not satisfy the pattern

Hi, I have a input file with the following entries: 1one 2two 3three 1four 2five 3six 1seven 1eight 1nine 2ten The output should be 1one 2two 3three 1four 2five 3six (2 Replies)
Discussion started by: supchand
2 Replies

6. UNIX for Dummies Questions & Answers

‘922’ Code does not exist on ‘03’ Record, ‘901' Code will be there instead, move ‘03’ Record to Out

My input file like this 01,011600033,011600033,110516,0834,2,90,,2/ 02,011600033,011103093,1,110317,0834,,2/ 03,105581,,015,+00000416418,,,901,+00000000148,,,922,+00000000354,,/ 49,+00000000000416920,00002/ 03,113806,,015,+00000559618,,,901,+00000000096,,,922,+00000000621,,/... (1 Reply)
Discussion started by: sgoud
1 Replies

7. UNIX for Dummies Questions & Answers

If ‘922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ R

01,011600033,011600033,110516,0834,2,90,,2/ 02,011600033,011103093,1,110317,0834,,2/ 03,105581,,015,+00000416418,,,901,+00000000148,,,922,+000000 00354,,/ 03,113806,,015,+00000559618,,,901,+00000000096,,,922,+000000 00621,,/ 88,902,+0000000025218,,/... (1 Reply)
Discussion started by: sgoud
1 Replies

8. UNIX for Dummies Questions & Answers

922’ Code does not exist on ‘03’ Record, ‘901’ Code will be there instead, move ‘03’ Record to Outpu

01,011600033,011600033,110516,0834,2,90,,2/ 02,011600033,011103093,1,110317,0834,,2/ 03,105581,,015,+00000416418,,,901,+00000000148,,,922,+000000 00354,,/ 03,113806,,015,+00000559618,,,901,+00000000096,,,922,+000000 00621,,/ 88,902,+0000000025218,,/... (1 Reply)
Discussion started by: sgoud
1 Replies

9. UNIX for Dummies Questions & Answers

how to find 922 record 03 or 88 not found code 922 change 922 to 904

%%START CBLOADER CBLOADER BRBAI2 000090 01,011600033,011600033,110516,0834,2,90,,2/ 02,011600033,011103093,1,110317,0834,,2/ 03,105581,,015,+00000416418,,,901,+00000000148,,,922,+000000 00354,,/ 03,113806,,015,+00000559618,,,901,+00000000096,,,922,+000000 00621,,/... (1 Reply)
Discussion started by: sgoud
1 Replies

10. Shell Programming and Scripting

splitting a record and adding a record to a file

Hi, I am new to UNIX scripting and woiuld appreicate your help... Input file contains only one (but long) record: aaaaabbbbbcccccddddd..... Desired file: NEW RECORD #new record (hardcoded) added as first record - its length is irrelevant# aaaaa bbbbb ccccc ddddd ... ... ... (1 Reply)
Discussion started by: rsolap
1 Replies
Login or Register to Ask a Question