parsing file through awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting parsing file through awk
# 8  
Old 08-18-2006
thanks for responding, one thing i missed out,

CON Controllers Department
R abcuser usernamedesc1
R defuser usernamedesc2
R ghiuser usernamedesc3
R jkluser usernamedesc4
ADMIN Administration Division
R abcuser usernamedesc1
R defuser usernamedesc2
R ghiuser usernamedesc3
R jkluser usernamedesc4

result should be:
CON|Controllers Department|abcuser|usernamedesc1
CON|Controllers Department|defuser|usernamedesc2
CON|Controllers Department|ghiuser|usernamedesc3
CON|Controllers Department|jkluser|usernamedesc4
ADMIN|Administration Division|abcuser|usernamedesc1
ADMIN|Administration Division|defuser|usernamedesc2
ADMIN|Administration Division|ghiuser|usernamedesc3
ADMIN|Administration Division|jkluser|usernamedesc4
# 9  
Old 08-18-2006
Quote:
Originally Posted by bbeugie
thanks for responding, one thing i missed out,

CON Controllers Department
R abcuser usernamedesc1
R defuser usernamedesc2
R ghiuser usernamedesc3
R jkluser usernamedesc4
ADMIN Administration Division
R abcuser usernamedesc1
R defuser usernamedesc2
R ghiuser usernamedesc3
R jkluser usernamedesc4

result should be:
CON|Controllers Department|abcuser|usernamedesc1
CON|Controllers Department|defuser|usernamedesc2
CON|Controllers Department|ghiuser|usernamedesc3
CON|Controllers Department|jkluser|usernamedesc4
ADMIN|Administration Division|abcuser|usernamedesc1
ADMIN|Administration Division|defuser|usernamedesc2
ADMIN|Administration Division|ghiuser|usernamedesc3
ADMIN|Administration Division|jkluser|usernamedesc4
You can use the same logic given above. Add the row num for for the "ADMIN Administration Division" line or any other similar line in the if condition.

Code:
if ( NR == 1 || NR==6 )

# 10  
Old 08-18-2006
the different implementations provided will work with slight modification ...

so what have you tried from your end ? Smilie
# 11  
Old 08-18-2006
Try this......

awk 'BEGIN{
flag=0;}
{
if(flag==0 || $1~/ADMIN/){
flag=1;
ff=$1;sf=$2;tf=$3;
}
else
print(ff "|" sf" "tf "|" $2 "|" $3);
}' sample


regards
Apoorva Kumar
# 12  
Old 08-18-2006
The following script gives the the required result :
Code:
awk -v OFS='|' '
$1 == "R" {
   $1 = Prefix;
   print;
   next;
}
{
   sub(FS,OFS);
   Prefix = $0;
} 
' sample

Jean-Pierre.
# 13  
Old 08-21-2006
exactly what I need! bunch of thanks!! btw aigles, can you direct me to a good reference site wrt 'awk/nawk' ....
# 14  
Old 08-22-2006
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

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

6. UNIX for Advanced & Expert Users

Parsing through a file with awk/sed

I don't necessary have a problem, as I have a solution. It is just that there may be a better solution. GOAL: Part one: Parse data from a file using the "\" as a delimiter and extracting only the last delimiter. Part two: Parse same file and extract everything but the last delimited item. ... (8 Replies)
Discussion started by: OrangeYaGlad
8 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

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... (1 Reply)
Discussion started by: devtakh
1 Replies
Login or Register to Ask a Question