Please Help Me Guys

Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Please Help Me Guys
# 1  
Old 02-29-2008
Please Help Me Guys

Dear All

I have a pattern which look like this :

2 20080226_18:02:09.749 ISC-Libya Egypt-Cairo2 111 IAM 2913258040 218927157966 b 61 REL f 143 RLC :COMMA:NCI=10,FCI=6101,CPC=0A,TMR=00,OFI=80,USI: :COMMB:: :RELCAUSE:15:

2 20080226_18:02:11.629 ISC-Libya Egypt-Cairo2 170 IAM 93572641 218923609471 b 62 REL f 167 RLC :COMMA:NCI=10,FCI=6001,CPC=0A,TMR=00,USI: :COMMB:: :RELCAUSE:15:

I want the output file to be like this:

ISC-Libya Egypt-Cairo b 15 ( This for the first pattern)

and for the second Pattern

ISC-Libya Egypt-Cairo b 15 (This for the second pattern)

I mean that i need usually to print $3 ,$4 and the $ which is before REL word by two fields only (When the script find word REL) it awk the field before it by 2 fields

Note that i have lot of these patterns and every group is stored in files which generated every 15 minutes.

Please waiting for any reply from you
# 2  
Old 02-29-2008
not sure of what exactly you can assume about your patterns, but...
echo '2 20080226_18:02:09.749 ISC-Libya Egypt-Cairo2 111 IAM 2913258040 218927157966 b 61 REL f 143 RLC :COMMA:NCI=10,FCI=6101,CPC=0A,TMR=00,OFI=80,USI: :COMMB:: :RELCAUSE:15:' | nawk '{n=split($NF,a, ":");print $3,$4,$9,a[n-1]}'

# 3  
Old 03-01-2008
Dear Vger

Thanks for your reply but , i think i need to modify the code you sent

2 20080222_19:42:33.407 ISC-Libya Belgium1 8 IAM 38733614670 218214834748 b 2761 ACM b 20101 ANM f 89238 REL b 89541 SUS b 90221 RLC :COMMA: NCI=00,FCI=6100,CPC=0A,TMR=03: :COMMB: BCI=1604,OBI=01: :RELCAUSE:10:

2 20080222_19:43:44.054 ISC-Libya Belgium1 55 IAM 22796236854 218928613546 f 21969 REL b 22440 RLC :COMMA: NCI=10,FCI=6101,CPC=0A,TMR=00,OFI=80,USI: :COMMB:: :RELCAUSE:FF:

As you see in this example the location of REL message in the first pattern differs from location of REL in the second pattern. ( The first REL in $16 while the REL of second pattern is in $11) , so the key is word REL as soon as the code finds it prints the field before it by two fields.

So what i need is to print only $3 ,$4 as there position don't change and also i want to print the field which is before REL by two fields and also i want to print the last field in the pattern so the output for the two patterns will be like this:

ISC-Libya Belgium1 f 10

ISC-Libya Belgium1 f FF

Thanks for your care and please supply me with your reply.

# 4  
Old 03-01-2008
nawk -f zan.awk myFile.txt

   for(i=1; i<=NF; i++)
      if (i > 2 && $i == "REL") {
   n=split($NF,a, ":")
   print $3,$4,foo,a[n-1]

Last edited by vgersh99; 03-01-2008 at 12:48 PM.. Reason: added 'i>2'
# 5  
Old 03-01-2008
Last question


thanks for your reply i think this script will work but i have a question from where should i write the script

Starting after code: ?or i should write also nawk -f zan.awk myFile.txt


Can the script format be:

Cat filename.* ( * refers to date) and then writing the script

The file names are CDR.1,CDR.2,CDR.3 and every file contains group of patterns i sent you so the script should process all these files once and getting me the output

Thanks is advance and sorry for lot of questions
# 6  
Old 03-01-2008
create a text file 'zan.awk' as outlined in the post.
from a shell prompt invoke the posted command:
nawk -f zan.awk CDR.1 CDR.2 CDR.3

# 7  
Old 03-01-2008
Another Question

Dear Vger

i have another pattern which look like this :

2 20080222_19:42:33.407 ISC-Libya Belgium1 8 IAM 38733614670 218214834748 b 2761 ACM b 20101 ANM f 89238 REL b 89541 SUS b 90221 RLC :COMMA: NCI=00,FCI=6100,CPC=0A,TMR=03: :COMMB: BCI=1604,OBI=01: :RELCAUSE:10:

For this pattern i want to subtract the field before ANM word from the field before ACM word and if the result is less than 1000 i should print the whole pattern and sure skip the patterns which don't achieve this condition and at the end i like to redirect the output to another file.

Note also the position of ACM and ANM is not fixed for the all the patterns.

Can you tell me if the below code is right:

foo= "<unknown>"
too= "<unknown>"

for (i =1 ; i<= NF; i++)
if (i>2 && $i == "ANM") {
foo = $(i-1)

for (k=1 ;k<=NF;i++)
if(k>2 && $k == "ACM"{
too =$(k-1)
result == too - foo
if (result <=1000){
print $0
( is $0 refer to printing the whole line where the condition is achieved)

then after printing the output i want to redirect it to a separate file.

I am sure that the code need modification so please update it if it need modification to try it on my server

Thanks in advance Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help me guys

how to print first line of each repeated 2 fields only if i got files like : USA|Tony|12:25:22:431 USA|John|14:22:42:981 USA|John|08:22:12:349 France|Adam|14:22:42:981 Italy|Tony|18:22:42:212 Italy|Tony|04:22:42:212 Italy|Tony|08:22:42:212 to make output like : ... (9 Replies)
Discussion started by: teefa
9 Replies

2. Cybersecurity

Hey guys

Hey guys, new geek here, sorry I didnt see a intro section. But I do have a question and hope to make my stay here perma. I am interested in IT security, ands I really want to learn, I was hoping for whatever questions I had you guys could lead me through the narrowest path with a broad selection... (1 Reply)
Discussion started by: abeja
1 Replies

3. Shell Programming and Scripting

Please help me guys...

Hi All! I need to write a script which reads a file and tries to insert into the DB using those values... file format: var1 var2 var3 var4 var5 var6 Now I want to read from the above file and trying to insert like... insert into table1 values( var1, var2, var3 ); in a loop to... (2 Replies)
Discussion started by: games_icon
2 Replies

4. UNIX for Advanced & Expert Users

Please Help Guys Important

Dear All I have an important request: I have a pattern which look like this: 2 20080219_21:43:22.194 ISC-Libya Belgium1 24 IAM 20115139248 218913265641 b 11672 ACM b 20614 CPG b 20619 CPG b 20626 CPG f 33925 REL b 34215 RLC :COMMA: NCI=00,FCI=6001,CPC=0A,TMR=00,USI: :COMMB: BCI=0201:... (15 Replies)
Discussion started by: zanetti321
15 Replies

5. UNIX for Advanced & Expert Users

Hi guys...

I want a Bash Shell Script for taking backup of all files created to day and killing all the Process still active of mine at evening every day (1 Reply)
Discussion started by: vinayraj
1 Replies

6. Shell Programming and Scripting

Help guys!

Hello Guys, I have written the following script to do certain job. I have more than 300 files, all are .pdb & .out files. and the files are (1,3,5,7,11,13,15,17,21,.......787,791,793,795).pdb /.out . But the way I created the for loop in my script works only one file at a time. But that is not... (2 Replies)
Discussion started by: chuchu
2 Replies

7. AIX

Thanks guys

Hi guys, I would like to inform you that I have cleared .... IBM Certified Specialist - p5 and pSeries Administration and Support for AIX 5L V5.3 with 89% thanks to you all. Manu (0 Replies)
Discussion started by: b_manu78
0 Replies

8. UNIX for Dummies Questions & Answers

Hi again guys

actually i have important question about unix / linux i'm working on visuall basic and visuall c++ i heared from someone that i can't open them while i useing unix / linux is that right? if yes .......... what's the solution if no ............. thanks :) :D :D thanks my friends (1 Reply)
Discussion started by: M_Hafez
1 Replies

9. UNIX for Advanced & Expert Users

i need your guys help

HI. I just accidently wipe out my hard drive when i installed sun solaris, this is the last thing i remember, it ask me if want to delete the partition table, and i said yes" Im a retard" i thought solaris can't see xp partition table. Could anyone help me recover my data back, is it really... (21 Replies)
Discussion started by: souldier
21 Replies
Login or Register to Ask a Question