Sponsored Content
Full Discussion: Pull Intermediate Strings
Top Forums Shell Programming and Scripting Pull Intermediate Strings Post 302513766 by cgkmal on Thursday 14th of April 2011 04:22:54 AM
Old 04-14-2011
Sure OMLEELA,

I'll try to explain good enough Smilie

I'm using gensub function with regexp back reference feature, This feature within gensub works something like this:

gensub(/regexp/, replacement, how [, target], where
Code:
regexp: Pattern you want to search
Replacement: The replacement of "pattern"
how="g": Indicates it replaces all matches of regexp with replacement
target: If no target is supplied, $0 is used

To use back reference you need to suround between parentheses "(" and ")" the regexp you want to remember and
all that is outside the back reference parentheses won't be buffered or remembered.


Code:
# back reference parentheses in red, regexp to be matched is inside them 
gensub(/.*\((.*)\).*\(.*:(.*)\).*'\''(.*)'\''.*/ ....
              1            2           3

Explaining first part of regexp:
Code:
.*\((.*)\)=.* plus \( plus (.*) plus \) 

Where,
Code:
.* is to match: I. 2011/04/14 01:12:03. process
\( is to match: (  the opening parentheses  <<the literal "(" is escaped with \( >>
(.*) is to match: 130 = the content within the literal parentheses and to use back reference we suround with ()
\) is to match: )  the closing parentheses <<the literal ")" is escaped with \) >>

and so on.

Then the 2nd back reference matches and remembers the string after ":" and before ")" in green(ESN
:27723211621B01DJ68AG))

And the 3rd back reference is to match the substring between single quotes. Here, to match literal single quotes was needed to escape it
not only with \', but with '
\''. This is single
quotes ' ..
' around \'.

After follow the same process to match the following part of the complete string, to remember the stored substrings
we use \\i in the order needed. I've used 3 backreference parentheses, then I remenber 3 backreference in the order
1,2,3, but it could be 3,1,2 or 3,3,1, or 3,2,1 etc, up to your needs. In this case with a space between them
"\\1 \\2 \\3".


Hope this helps.

Regards
These 2 Users Gave Thanks to cgkmal For This Post:
 

9 More Discussions You Might Find Interesting

1. Programming

Can we use write() to modify/update intermediate records in a file

Hi, I have a database (a simple .dat file) which has multiple records (structure datatype) in it. I would like to know if we can use write() system call to update/modify intermediate records in this file (using C). If so, could somegive give a code snippet of the same. :-) Thanks in advance... (2 Replies)
Discussion started by: maverix
2 Replies

2. Shell Programming and Scripting

Help needed in removing intermediate segments from a pipe delimited segment file

Hi, I just stuckup in doing some regular expressions on a file. I have data which has multiple FHS and BTS segments like: FHS|12121|LOCAL|2323 MSH|10101|POTAMAS|2323 PID|121221|THOMAS|DAVID|23432 OBX|2342|H1211|3232 BTS|0000|MERSTO|LIABLE FHS|12121|LOCAL|2323 MSH|10101|POTAMAS|2323... (3 Replies)
Discussion started by: naren_0101bits
3 Replies

3. Shell Programming and Scripting

How to Avoid intermediate files when pipe does nt work

problem with piping one output to another.Would like to avoid the intermediate file creation.The piping does nt work on places where files have been created and goes in an endless loop. sed -e "s/^\.\///g" $LINE1| sed -e "s/_\(\)/kkk\1/g" > $file1 tr -s '_' ' ' < $file1| \ sort -n -k... (1 Reply)
Discussion started by: w020637
1 Replies

4. Shell Programming and Scripting

insert a header in a huge data file without using an intermediate file

I have a file with data extracted, and need to insert a header with a constant string, say: H|PayerDataExtract if i use sed, i have to redirect the output to a seperate file like sed ' sed commands' ExtractDataFile.dat > ExtractDataFileWithHeader.dat the same is true for awk and... (10 Replies)
Discussion started by: deepaktanna
10 Replies

5. UNIX for Advanced & Expert Users

connecting through master ssh connection on intermediate host

Suppose host B does not allow public/private key authentication - only secureID authentication. I already have a master ssh connection from host A to host B. Host A does allow public/private key authentication. Is there any way to connect from host C to host B by way of the master ssh connection... (2 Replies)
Discussion started by: cpp6f
2 Replies

6. Shell Programming and Scripting

initializing loop to delete intermediate output files

Hi, I am running a script which produces a number of intermediate output files for each time step. is there a way to remove these intermediate files and just retain the final output at every end of the loop, like sort of an initialization process? this the inefficient way i do it. for i in... (3 Replies)
Discussion started by: ida1215
3 Replies

7. Shell Programming and Scripting

piping from grep to awk without intermediate files

I am trying to extract the file names alone, for example "TVLI_STATS_NRT_XLSTWS03_20120215_132629.csv", from below output which was given by the grep. sam:/data/log: grep "C10_Subscribe.000|subscribe|newfile|" PDEWG511_TVLI_JOB_STATS.ksh.201202* Output: ... (6 Replies)
Discussion started by: siteregsam
6 Replies

8. UNIX for Dummies Questions & Answers

Online UNIX intermediate level documentation

Hi, Can maybe some of the UNIX-guys recommend an online UNIX intermediate level documentation with examples (not too dry :-). More the post-beginner level, for someone who has to play around with files and directories, with chmod, grep, sed, a little awk maybe... bw, Omar KN (once tasted... (2 Replies)
Discussion started by: OmarKN
2 Replies

9. UNIX for Dummies Questions & Answers

Printing the intermediate integer values

Dear Help, I have an input file which looks like - 121 300 122 345 124 567 127 234 $1 has 125 and 126 missing. How can I output those missing values? Thanks (6 Replies)
Discussion started by: Indra2011
6 Replies
All times are GMT -4. The time now is 09:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy