Problem with awk script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem with awk script
# 1  
Old 05-16-2009
Java Problem with awk script

Hi
Can anyone help me in this Problem

File1
#########################

HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
POLI AND TWO SENSE CRYING WING
PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
+PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT
MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION

##########################

I need to write a awk script should match word PPIN TBKFLAG and then remove the Key words TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT

Rest should be same

Final file 1 should be like this

######################


HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
POLI AND TWO SENSE CRYING WING
PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
+PIN TB=" HOT"
MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION



##############

Thanks and Regards
Kshitij Kulshreshtha
# 2  
Old 05-16-2009
This assumes that:
Code:
PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND" +PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT

is all on one line

Code:
sed '/^PPIN TBFLAG/s/TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT//'

Which when it finds a line starting with PPIN TBFLAG it then substitutes:
TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT
with nothing.
# 3  
Old 05-16-2009
Java Problem with awk script

Hi Thanks for the Reply

But the Code is coming in different lines as shown in the below code

1. HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
2. POLI AND TWO SENSE CRYING WING
3. PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
4. +PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT
5. MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION

The awk script should search PPIN TBFLAG and then remove the flags TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT

The Final code should be like this :


1. HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
2. POLI AND TWO SENSE CRYING WING
3. PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
4. +PIN TB=" HOT"
5. MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION


Thanks and Regards
Kshitij Kulshreshtha
# 4  
Old 05-16-2009
Maybe something like this:

Code:
$
$ cat -n input.txt
     1  HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
     2  POLI AND TWO SENSE CRYING WING
     3  PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
     4  +PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT
     5  MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION
$
$ awk '/^PPIN TBFLAG/ {ln=NR}; {if ($0 ~ /.*TB_GATE/ && NR==ln+1) {sub(/ TB_GATE.*/,"")} print}' input.txt
HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
POLI AND TWO SENSE CRYING WING
PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
+PIN TB=" HOT"
MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION
$
$

tyler_durden
# 5  
Old 05-17-2009
Code:
sed  '/PPIN TBFLAG/{n;s/TB_GATE=\" KOT\" TB_LATE=\" MAT\" TC=LOT//g}' file

or

Code:
awk '/PPIN TBFLAG/{print;getline;gsub(/TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT/,"");print;next}{print}' file

cheers,
Devaraj Takhellambam
# 6  
Old 05-17-2009
Quote:
Originally Posted by kshitij
Hi Thanks for the Reply

But the Code is coming in different lines as shown in the below code

1. HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
2. POLI AND TWO SENSE CRYING WING
3. PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
4. +PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT
5. MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION

The awk script should search PPIN TBFLAG and then remove the flags TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT
well, if you really must search for PPIN first, i assume that you want to remove TB_GATE and the rest only when PPIN is found.
here's an alternative solution in Python, assuming TB_GATE is followed by TB_LATE and TC.
Code:
f=0
for line in open("file"):
    if "PPIN" in line:f=1
    if f and "TB_GATE" in line:
        s = line.index("TB_GATE")
        line=line[:s]
        f=0
    print line.strip()

output:
Code:
# more file
1. HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
2. POLI AND TWO SENSE CRYING WING
3. PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
4. MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION
5. +PIN TB=" HOT" TB_GATE=" KOT" TB_LATE=" MAT" TC=LOT

# ./test.py
1. HOLI 123 AND ONE TWO THREE AMITABH SAMSUNG
2. POLI AND TWO SENSE CRYING WING
3. PPIN TBFLAG I B AND OROLE TB_HOT=" DCT" TB_CAT=" CAT" TC_NOT=" AND"
4. MAT DAT SAT GATE IS A NAND AND PLAN ON THE RIGHT INFORMATION
5. +PIN TB=" HOT"

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk script problem

Hello guys i have following problem. I'm trying to copy content of one file and paste this content in all .txt files in directory, but at line 15. My script copy the content at first line, not 15. I'm confused how to do this. Thank you in advance for your help! This is my script: ARGS=2 ... (9 Replies)
Discussion started by: r00ty
9 Replies

2. Shell Programming and Scripting

Awk Script Problem

Can someone please explain to me what is wrong with this awk script? echo 74 85 | awk '{ if ( $1 > $2 ) PRESULTS = ( $1 - $2 ); print $0,"=>","P"PRESULTS ; else if ( $1 > $2 ) NRESULTS = ( $2 - $1... (3 Replies)
Discussion started by: SkySmart
3 Replies

3. Shell Programming and Scripting

problem with awk script

Hi, I have two files Hi, I have two files file1 :> Code: val="10" port="localhost:8080"httpadd="http:\\192.168.0.239" file2 :> Code: val=${val} val="pdssx" port=${port}port="1324"httpadd=${httpadd}httpadd="raamraav"fileloc=${fileloc} file3(or file2) should have following... (1 Reply)
Discussion started by: nitin.pathak
1 Replies

4. Shell Programming and Scripting

Awk script Problem

Hi , I am having two files FILE1 and FILE2 as shown below I need to search each and every element of Coulumn1 in the FILE1 in FILE2 and Globally replace with the Corresponding element of the Column2 in the FILE2 , For example and1 which is the first element of COl 1 of the FILE1 should be... (4 Replies)
Discussion started by: jaita
4 Replies

5. Shell Programming and Scripting

Problem with awk script

Hi, I have one csv file with 3 fileds like tmp1.csv 2079|2010Aug|cardilogy 2349|2010Aug|numerology 2213|2010Aug|immunlogy another csv file with code for those specialities spec.csv cardiology|CRD numerology|NMY immunology|IMY i want to replace the contents of file 1 with codes... (2 Replies)
Discussion started by: Man83Nagesh
2 Replies

6. Shell Programming and Scripting

Problem with an awk Script

hello, first, yes i searched the forum , google and read many tutorials but still have a problem with my script. I have great Problems, because i haven't worked with regular expressions before and never had anything to do with shellscripts. i am a complete Newby in this sort of theme. I have... (8 Replies)
Discussion started by: Crashvogel
8 Replies

7. Shell Programming and Scripting

awk script problem

Hi All, I have the following input data: That I'd like to look like this ($2 is the column I'd like it to appear in) where the entries are grouped by date: The code I have at present is: awk 'BEGIN {} { dt = $1 if (dt == dt_prev) { pp = $3 ... (7 Replies)
Discussion started by: pondlife
7 Replies

8. Shell Programming and Scripting

Problem with a AWK Script

Hi I am having some contents in my file like this file1 ########################## pin (PIN1) { direction : input ; capacitance : 121 ; max_transition : 231 ; } pin (PIN2) { direction : input ; capacitance : 124 ; max_transition : 421 ;... (8 Replies)
Discussion started by: kshitij
8 Replies

9. Shell Programming and Scripting

Problem with one awk script

Hi , I am having a file having the contents like this file1 ##################### kite kshitij jolly admire in the wing and tell me the secret behind opus 123 and the right of the track ######################### I have to write one awk script to substitue some values with other... (6 Replies)
Discussion started by: kshitij
6 Replies

10. Shell Programming and Scripting

awk script Problem

I wrote a awk but doesnt work as expected. The Input File attached input file My awk Script /^.......*EXEC CICS /,/END-EXEC/ { if ( $0 ~ / LINK / ) { tsflag=1 } if ( $0 ~ /EXEC CICS/ && tsflag == 1 ) ... (6 Replies)
Discussion started by: pbsrinivas
6 Replies
Login or Register to Ask a Question