AWK and Magic with file parsing


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting AWK and Magic with file parsing
# 1  
Old 05-06-2008
Java AWK and Magic with file parsing

Hi, I have a input file like this

TH2TH2867Y NOW33332106Yo You Baby
TH2TH3867Y NOW33332106No Way Out
TH2TH9867Y NOW33332106Can't find it
TJ2TJ2872N WOW33332017sure thing alas
TJ2TJ3872N WOW33332017the sky rocks
TJ2TJ4872N WOW33332017nothing else matters
TJ2TJ5872N WOW33332017you know about it
TJ2TJ6872N WOW33331999nothing else matters
TJ2TJ7872N WOW33332017nothing else matters
TJ2TJ8872N WOW33332017No Way Out
TJ2TAW872N WOW33331999No Way Out
TJAPXC050Y NOW33331999No Way Out.
TJAT1N999Y NOW33331999still loving you.
TJBJOG575Y NOW33331999Jacka nd jill.
TJBJXG575Y NOW33331999Julie and friend

I am trying to get the output something like this-

Yo You Baby|TH2
sure thing alas|TJ2
No Way Out.|TJA
Jacka nd jill|TJB

Here..TH2,TJ2,TJA and TJB are the distinct first 3 characters from the input.
In the input , lets say fr=substr($0,1,3) and nx=substr($0,4,3).
Basically, i want to check the line if the first 3 character(fr) = the next 3 characters(nx),
then print substr($0,23,20) and the substr($0,1,3)

If they dont match, then print the first occurance of the fr with its associated substr($0,23,20).


I started doing domething like this..
awk 'BEGIN{OFS="|"}{fr=substr($0,1,3);nx=substr($0,4,3); if (fr == nx) print substr($0,23,20),fr}' inputfile
| nawk 'BEGIN{FS="|";OFS="|"}{ sub(/[ \t]*$/, "",$1);print $1,$2}'

But this will missed out to print lines when fr and nx dont match

in my above example - fr doesn't match with fr..
TJAPXC050Y NOW33331999No Way Out.
TJAT1N999Y NOW33331999still loving you.
TJBJOG575Y NOW33331999Jacka nd jill.
TJBJXG575Y NOW33331999Julie and friend

But I would like to get the result as below too...( the first occurance of the fr and its substr )
No Way Out.|TJA
Jacka nd jill|TJB

Help!

Regards,
Big Gun
# 2  
Old 05-06-2008
Double post questions is not allowed, please read the rules

Continue here:

https://www.unix.com/shell-programmin...e-parsing.html

Thread closed.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Parsing a file name with awk

I have a command to print out the top 5 most cpu intensive commands: ps aux --sort=-%cpu --no-headers I would like to make a printout containing only the parsed file name. So, I want to turn this: $ ps aux --sort=-%cpu --no-headers user 24883 4.3 1.7 2010436 131440 ? Sl ... (2 Replies)
Discussion started by: bedtime
2 Replies

2. Shell Programming and Scripting

awk parsing file

Looking to parse a file to remove the duplicates and get only few fields and uniq rows. input.tx Loc (TC) ID : ssfad_fs Serial : PIC002340098 ... (8 Replies)
Discussion started by: shunya
8 Replies

3. Shell Programming and Scripting

AWK? parsing /etc/passwd file.

Hello guys, please help me to make simple script for parsing passwd file. I have many passwd files from our servers, named server1.pass, server2.pass etc.. so for server in `ls *.pass` i need to print these rows: server1;root:!:0:0::/root:/usr/bin/ksh... (7 Replies)
Discussion started by: rubico
7 Replies

4. Shell Programming and Scripting

Help in file parsing with awk

Hi, I have a data set as shown below: 09e757fd,22727,2012-03-01,text1,text2,to 3fd0cae7,310,2012-03-01,text3,text4,to 3fd0cae7,310,2012-03-01,text3,text5,to 3fd0cae7,311,2012-03-01,text7,text10,cc 3fd0cae7,311,2012-03-01,text7,text11,to 3fd0cae7,312,2012-03-01,text8,text15,to... (3 Replies)
Discussion started by: shekhar2010us
3 Replies

5. Shell Programming and Scripting

awk parsing of ICS file

Hi, I am searching for a fast awk hack to eliminate from an ICS file events which have been modified at a certain time. The structure for parsing is the following: BEGIN:VEVENT .... LAST-MODIFIED:...some date... ... END:VEVENT If the date matches for example LAST-MODIFIED:20110823 the... (2 Replies)
Discussion started by: mmtung
2 Replies

6. Shell Programming and Scripting

Parsing a file with AWK

Input Group: Erecords: Copy: ADC R2: Replication volumes: Replication set: RSet 1 Replication size: 50.00GB SAN Info: 50.00GB DGC VRAID CX4-960 LUN 1040 (1040) 60,06,01,60,32,bb,21,00,84,a0,08,b1,da,ec,df,11... (2 Replies)
Discussion started by: greycells
2 Replies

7. Shell Programming and Scripting

awk/sed for parsing file

Hi All, I have a log file like this E Mon Oct 06 00:17:08 2008 xxx2 cm:10614 fm_pi2_svc_iptv_purchase.c:149 1:pin_deferred_act:10601:11:169:1223245028:16 pi2_op_svc_iptv_purchase error <location=PIN_ERRLOC_FM:5 class=PIN_ERRCLASS_SYSTEM_DETERMINATE:1... (10 Replies)
Discussion started by: subin_bala
10 Replies

8. Shell Programming and Scripting

Parsing a file (sed/awk?)

Hello people, newbie question. I'm trying to parse these type of file 1 "CAR " " C1 " " " 6 0 C1 2 "CAR " " O1A" " " 8 0 O1A 3 "CAR " " O1B" " " 8 -1 O1B 4 "CAR " " C2 " " " 6 0 C2 5 "CAR " " C3 " " " 6 ... (10 Replies)
Discussion started by: aristegui
10 Replies

9. Shell Programming and Scripting

awk and file parsing

Hi, I have a input file like this TH2TH2867Y NOW33332106Yo You Baby TH2TH3867Y NOW33332106No Way Out TH2TH9867Y NOW33332106Can't find it TJ2TJ2872N WOW33332017sure thing alas TJ2TJ3872N WOW33332017the sky rocks TJ2TJ4872N WOW33332017nothing else matters ... (4 Replies)
Discussion started by: devtakh
4 Replies

10. Shell Programming and Scripting

parsing file through awk

hi, how can i achieve this in awk CON Controllers Department R abcuser usernamedesc1 R defuser usernamedesc2 R ... (13 Replies)
Discussion started by: bbeugie
13 Replies
Login or Register to Ask a Question