Sponsored Content
Top Forums Shell Programming and Scripting Insert lines above matching line with content from matching Post 302768491 by ysrini on Friday 8th of February 2013 04:26:39 PM
Old 02-08-2013
Insert lines above matching line with content from matching

Hi, I have text file:

Code:
Name: xyz
Gender: M
Address: "120_B_C; ksilskdj; lsudlfw"
Zip: 20392

Name: KLM
Gender: F
Address: "65_D_F; wnmlsi;lsuod;,...."
Zip:90233

I want to insert 2 new lines before the 'Address: ' line deriving value from this Address line value
The Address value in quotes until the first semi-colon should form the StreetName, and until underscore(_) within this should form the StreetNo,
as shown below

Code:
Name: xyz
Gender: M
StreetNo: 120
StreetName: 120_B_C
Address: "120_B_C; ksilskdj; lsudlfw"
Zip: 20392

Name: KLM
Gender: F
StreetNo: 65
StreetName: 65_D_F
Address: "65_D_F; wnmlsi;lsuod;,...."
Zip:90233

Also it would be nice to have the additional check that the code only inserts where the 2 lines (StreetNo, StreetName) are not already available
Thanks,
-sri
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

insert text into another file after matching pattern

i am not sure what i should be using but would like a simple command that is able to insert a certain block of text that i define or from another text file into a xml file after a certain match is done for e.g insert the text </servlet-mapping> <!-- beechac added - for epic post-->... (3 Replies)
Discussion started by: cookie23patel
3 Replies

2. Shell Programming and Scripting

Extracting line matching a phrase and then the next lines after it

Hi all, I was wondering if someone could tell me a way to extract from a file lines where you search for a phrase and then also extract the next X lines after it (i.e. take a block of text from the file)? Example { id=123 time=10:00:00 date=12/12/09 { ........ ... (6 Replies)
Discussion started by: muay_tb
6 Replies

3. Shell Programming and Scripting

Remove duplicate lines (the first matching line by field criteria)

Hello to all, I have this file 2002 1 23 0 0 2435.60 131.70 5.60 20.99 0.89 0.00 285.80 2303.90 2002 1 23 15 0 2436.60 132.90 6.45 21.19 1.03 0.00 285.80 2303.70 2002 1 23 ... (6 Replies)
Discussion started by: joggdial3000
6 Replies

4. Shell Programming and Scripting

sed or awk delete character in the lines before and after the matching line

Sample file: This is line one, this is another line, this is the PRIMARY INDEX line l ; This is another line The command should find the line with “PRIMARY INDEX” and remove the last character from the line preceding it (in this case , comma) and remove the first character from the line... (5 Replies)
Discussion started by: KC_Rules
5 Replies

5. Shell Programming and Scripting

print range of lines matching pattern and previous line

Hi all, on Solaris 10, I'd like to print a range of lines starting at pattern but also including the very first line before pattern. the following doesn't print the range starting at pattern and going down to the end of file: cat <my file> | sed -n -e '/<pattern>{x;p;}/' I need to include the... (1 Reply)
Discussion started by: siriche
1 Replies

6. Shell Programming and Scripting

Deleting a matching string(line) which is also in other lines

Hi, i need help with my shell script I have a file input.txt containing the following contents /. /usr /usr/share /usr/share/doc /usr/share/doc/wine /usr/share/doc/wine/copyright /usr/share/doc/wine/changelog.Debian.gz I need output as /usr/share/doc/wine /usr/share/doc/wine/copyright... (3 Replies)
Discussion started by: Amit0991
3 Replies

7. Shell Programming and Scripting

Compare file1 for matching line in file2 and print the difference in matching lines

Hello, I have two files file 1 and file 2 each having result of a query on certain database tables and need to compare for Col1 in file1 with Col3 in file2, compare Col2 with Col4 and output the value of Col1 from File1 which is a) not present in Col3 of File2 b) value of Col2 is different from... (2 Replies)
Discussion started by: RasB15
2 Replies

8. Shell Programming and Scripting

Replacing lines matching a multi-line pattern (sed/perl/awk)

Dear Unix Forums, I am hoping you can help me with a pattern matching problem. What am I trying to do? I want to replace multiple lines of a text file (that match a multi-line pattern) with a single line of text. These patterns can span several lines and do not always have the same number of... (10 Replies)
Discussion started by: thefang
10 Replies

9. Shell Programming and Scripting

Insert value of column based on file name matching

At the top of the XYZ file, I need to insert the ABC data value of column 2 only when ABC column 1 matches the prefix XYZ file name (not the ".txt"). Is there an awk solution for this? ABC Data 0101 0.54 0102 0.48 0103 1.63 XYZ File Name 0101.txt 0102.txt 0103.txt ... (7 Replies)
Discussion started by: ncwxpanther
7 Replies

10. Shell Programming and Scripting

Group Multiple Lines on SINGLE line matching pattern

Hi Guys, I am trying to format my csv file. When I spool the file using sqlplus the single row output is wrapped on three lines. Somehow I managed to format that file and finally i am trying to make the multiple line on single line. The below command is working fine but I need to pass the... (3 Replies)
Discussion started by: RJSKR28
3 Replies
Archive::Zip::MemberRead(3)				User Contributed Perl Documentation			       Archive::Zip::MemberRead(3)

NAME
Archive::Zip::MemberRead - A wrapper that lets you read Zip archive members as if they were files. SYNOPSIS
use Archive::Zip; use Archive::Zip::MemberRead; $zip = Archive::Zip->new("file.zip"); $fh = Archive::Zip::MemberRead->new($zip, "subdir/abc.txt"); while (defined($line = $fh->getline())) { print $fh->input_line_number . "#: $line "; } $read = $fh->read($buffer, 32*1024); print "Read $read bytes as :$buffer: "; DESCRIPTION
The Archive::Zip::MemberRead module lets you read Zip archive member data just like you read data from files. METHODS
Archive::Zip::Member::readFileHandle() You can get a "Archive::Zip::MemberRead" from an archive member by calling "readFileHandle()": my $member = $zip->memberNamed('abc/def.c'); my $fh = $member->readFileHandle(); while (defined($line = $fh->getline())) { # ... } $fh->close(); Archive::Zip::MemberRead->new($zip, $fileName) Archive::Zip::MemberRead->new($zip, $member) Archive::Zip::MemberRead->new($member) Construct a new Archive::Zip::MemberRead on the specified member. my $fh = Archive::Zip::MemberRead->new($zip, 'fred.c') setLineEnd(expr) Set the line end character to use. This is set to by default except on Windows systems where it is set to . You will only need to set this on systems which are not Windows or Unix based and require a line end diffrent from . This is a class method so call as "Archive::Zip::MemberRead"->"setLineEnd($nl)" rewind() Rewinds an "Archive::Zip::MemberRead" so that you can read from it again starting at the beginning. input_record_separator(expr) If the argumnet is given, input_record_separator for this instance is set to it. The current setting (which may be the global $/) is always returned. input_line_number() Returns the current line number, but only if you're using "getline()". Using "read()" will not update the line number. close() Closes the given file handle. buffer_size([ $size ]) Gets or sets the buffer size used for reads. Default is the chunk size used by Archive::Zip. getline() Returns the next line from the currently open member. Makes sense only for text files. A read error is considered fatal enough to die. Returns undef on eof. All subsequent calls would return undef, unless a rewind() is called. Note: The line returned has the input_record_separator (default: newline) removed. read($buffer, $num_bytes_to_read) Simulates a normal "read()" system call. Returns the no. of bytes read. "undef" on error, 0 on eof, e.g.: $fh = Archive::Zip::MemberRead->new($zip, "sreeji/secrets.bin"); while (1) { $read = $fh->read($buffer, 1024); die "FATAL ERROR reading my secrets ! " if (!defined($read)); last if (!$read); # Do processing. .... } AUTHOR
Sreeji K. Das, <sreeji_k@yahoo.com> See Archive::Zip by Ned Konz without which this module does not make any sense! Minor mods by Ned Konz. COPYRIGHT
Copyright 2002 Sreeji K. Das. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.16.2 2009-06-30 Archive::Zip::MemberRead(3)
All times are GMT -4. The time now is 09:25 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy