Sponsored Content
Top Forums Shell Programming and Scripting AWK Script Issue insert newline for a regular expression match Post 302476668 by jaita on Thursday 2nd of December 2010 08:05:44 AM
Old 12-02-2010
Franklin ,
Your code is not clear to me

Code:
 
awk '/RXH/{f=1}; f{c+=/}/?1:/{/?-1:0}; !f; f && !c{f=0}' file

Could not understand how the flags will be set , unset and counter will be incremented and decremented

Suppose I am having a file like this
Code:
 
 
FILE 1
 pin ykdh {
 ndn ndn 
 hdjhd jd 
 } 
 pin rtrx {
 in nmd
 mdkd kd
 }
 pin rtry {
 im dnd
 dnd mdmd
}
 pin hdh {
 ndn ndn 
 hdjhd jd 
 }
and I am applying the below script 
awk '/rxt/{f=1}; f{c+=/}/?1:/{/?-1:0}; !f; f && !c{f=0}' file
it is giving me a right output 
output 
pin ykdh {
 ndn ndn 
 hdjhd jd 
 } 
pin hdh {
 ndn ndn 
 hdjhd jd 
 }

But if I am changing a small parameter in the FILE1 { to ]

Code:
 
FILE2 
pin ykdh [
 ndn ndn 
 hdjhd jd 
 ] 
 pin rtrx [
 in nmd
 mdkd kd
 ]
 pin rtry [
 im dnd
 dnd mdmd
]
 pin hdh [
 ndn ndn 
 hdjhd jd 
 ]

and applying below script

Code:
 
awk '/rxt/{f=1}; f{c+=/]/?1:/[/?-1:0}; !f; f && !c{f=0}' file

it is not giving the output and script getting failed
Could not understand the script as such ,
after matching with the regular expression rxt f is getting set and assigned to value = 1
after that could not able to understand the code
Code:
f{c+=/]/?1:/[/?-1:0}; !f; f && !c{f=0}

' setting and unsetting of the flags , incrementing and decrementing
the counters and prining the relevant lines
Please make me understand this code , how it works

Thanks
Jaita
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Exact match with regular expression

Hi I have a file with data arranged into columns. The first column is the chromosome name. When I use grep to subset only rows with chr1, I get chr1 but also chr10, chr11,.. How do I get only rows with chr1? grep chr1 filein > fileout head fileout chr1 59757841 chr11 108258691 ... (2 Replies)
Discussion started by: jdhahbi
2 Replies

2. UNIX for Dummies Questions & Answers

Regular Expression - match 'b' that follows 'a' and is at the end of a string

Hi, I'm struggling with a regex that would match a 'b' that follows an 'a' and is at the end of a string of non-white characters. For example: Line 1: aba abab b abb aab bab baa I can find the right strings but I'm lacking knowledge of how to "discard" the bits that precede bs.... (2 Replies)
Discussion started by: machinogodzilla
2 Replies

3. Shell Programming and Scripting

Regular expression match

Hi all, any idea how to match the following: char*<no or any string or space> buf and char *<no or any string or space> buf i need to capture the buf characters too. currently i need two checks to cover this: #search char* <any string> buf or char *<any string> buf @noarray =... (2 Replies)
Discussion started by: ChaMeN
2 Replies

4. Shell Programming and Scripting

regular expression to match repeated appearance

Hi all, I am looking for a regex syntax to match repeated appearance. Likes, ']+]+' matches for string '65A SOME MORE AND 78B' Now, this gets messy if I need to extract all such repeated appearance. I don't want to write ] four or five times for matching repeated appearance. Thanks in... (2 Replies)
Discussion started by: guruparan18
2 Replies

5. Shell Programming and Scripting

regular expression match

I am trying to match a similar line using grep with regular expression the line is /remote/mac/pbbbb/abc/def/hij/hop/include/abc/tif/element/test/testfiles/Office.cpp:57: const OfficeType& getType().get() const; I just need to extract the bold characters using grep with regular expression.... (5 Replies)
Discussion started by: prasbala
5 Replies

6. Shell Programming and Scripting

AWK script issue for the part regular expression

Hi I am having a file as shown below FILE 1 TXDD00, TXDD01, TXDD02, TXDD03, TXDD04, TXDD05, TXDD06, TXDD07, TXDD08, TXDD09, TXDD10, TXDD11, TXDD12, TXDD13, TXDD14, TXDD15, TXDD16, TXDD17, TXDD18, TXDD19, TXDDCLK, TXDJTAGAMPL0, TXDJTAGAMPL1,... (3 Replies)
Discussion started by: jaita
3 Replies

7. Shell Programming and Scripting

regular expression exact match

hi everyone suppose we have two scenario echo ABCD | grep \{4\} DATE echo SYSDATE | grep \{4\} SYSDATE i want to match the string of four length only please help (5 Replies)
Discussion started by: aishsimplesweet
5 Replies

8. Shell Programming and Scripting

Help with awk script (syntax error in regular expression)

I've found this script which seems very promising to solve my issue: To search and replace many different database passwords in many different (.php, .pl, .cgi, etc.) files across my filesystem. The passwords may or may not be contained within quotes, single quotes, etc. #!/bin/bash... (4 Replies)
Discussion started by: spacegoose
4 Replies

9. Shell Programming and Scripting

Regular expression match

echo 20110101 | awk '{ print match($0,/^((17||18||19||20)|)-*(|0|1)-*(|0||3)$/)) I am getting a match for the above, where as it shouldn't, as there is no hyphen in the echoed date. Another question is what is the difference between || and | in the above statement (4 Replies)
Discussion started by: tostay2003
4 Replies

10. Shell Programming and Scripting

Insert a newline after match in files of specific name under some subdirectories?

Hi I'd like to add the newline: \tuser: nobody", or "<TAB>user: nobody to all files named: docker-compose.ymlin subfolders of pwd with names beginning with 10-20. Within these files, I'd like to find the line (there'll only be one) containing: command: celery workerNOTE: As far as... (2 Replies)
Discussion started by: duncanbetts
2 Replies
LPBB(4) 						   BSD Kernel Interfaces Manual 						   LPBB(4)

NAME
lpbb -- parallel port I2C bit-banging interface SYNOPSIS
device iicbus device iicbb device lpbb device iic DESCRIPTION
The lpbb driver supports the Philips official I2C parallel bit-banging interface. LS05 pin 14 (Vcc) o ------- | | | +--+--+---------------------+--+--+------------+------+-o 1 | | | | | | | ===.1uF | +5V | -------- [R][R][R] 3x10K 3x10K [R][R][R] LS05 | | | | | | | | | | | pin 7 o-+------+-o 2 | | 12 o-+--+ | | 3| 4 | | | (Gnd) | GND | | 17 o-+-----|--|----| >o-------------+--|--|--------------+ | | | | | | |/ 8 /|9 | | 10 /|11 +----+-o 3 | | 15 o-+-----+--|--------------o< |------+--|------o< |----+ | SCL | | | | 1| 2 | | | | | | 9 o-+--------|----| >o-------------------+--------------+----+-o 4 | | | | |/ 6 /|5 | | SDA | | 11 o-+--------+----------------------------------o< |----+ ------- | 10 o-+-+ | 4-pin | 13 o-+-+--oGND Connector | 25 o-+-+ ------------------ Part List -------------------------- -------- | 1 - .1 uF capacitor | 6 - 10K 5% resistors | 25-pin male D | 1 - 4-pin connector | 1 - 25-pin male D connector | connector to PC | 1 - 74LS05 open collector hex inverter | printer port ------------------------------------------------------- SEE ALSO
iicbb(4), iicbus(4), ppbus(4) HISTORY
The lpbb manual page first appeared in FreeBSD 3.0. AUTHORS
This manual page was written by Nicolas Souchu. BSD
October 25, 1998 BSD
All times are GMT -4. The time now is 11:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy