using sed to conditionally extract stanzas of a file based on a search string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting using sed to conditionally extract stanzas of a file based on a search string
# 1  
Old 11-25-2008
using sed to conditionally extract stanzas of a file based on a search string

Dear All,
I have a file with the syntax below (composed of several <log ..... </log> stanzas)
I need to search this file for a number e.g. 2348022225919, and if it is found in a stanza, copy the whole stanza/section (<log .... </log>) to another output file.

The numbers to search for are listed in an input file (easy enough to read that file in one line at a time), but I am having major problems trying to build a conditional instruction using sed to search the file (below) for a particular number and then copy its whole section if a match is found. Thanks.

<log logid="847b00c2190810312356170828/1/1/1">
<category>ProcEngineBL.Normal</category>
<operation>Get</operation>
<target>GsmFlex.Connection</target>
<instance>msisdn=2348022225919</instance>
<user>tester1</user>
<context>sog.Pro/context>
<status>SUCCESSFUL</status>
</log>
<log logid="827b00c43190810312356170828/1/2/1">
<category>ProcEngineBL.Normal</category>
<operation>Set</operation>
<target>GsmFlex.Connection</target>
<instance>msisdn=234802225919</instance>
<user>onwer1</user>
<context>sog.Pro/context>
<status>SUCCESSFUL</status>
</log>
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to search and replace string in column in file with command sed?

how to search and replace string in column in file with command sed or other search "INC0000003.in" and replace column 4 = "W" $ cat file.txt INC0000001.in|20150120|Y|N|N INC0000002.in|20150120|Y|N|N INC0000003.in|20150120|Y|N|N INC0000004.in|20150120|Y|N|Noutput... (4 Replies)
Discussion started by: ppmanja3
4 Replies

2. UNIX for Dummies Questions & Answers

Obtaining File information based on String Search

Is there a single Command in Unix to get the following Information when searching for files containing one or more strings in a Unix Directory (including sub directories within it) : 1) Complete filename ( path and filename) 2) Owner of the file 3) Size of the file 4) Last Modified date... (3 Replies)
Discussion started by: pchegoor
3 Replies

3. Shell Programming and Scripting

Search for string in a file, extract two another strings and concatenate to a variable

I have a file with <suit:run date="Trump Tue 06/19/2012 11:41 AM EDT" machine="garg-ln" build="19921" level="beta" release="6.1.5" os="Linux"> Need to find word "build" then extract build number, which is 19921 also release number, which is 6.1.5 then concatenate them to one variable as... (6 Replies)
Discussion started by: garg
6 Replies

4. Shell Programming and Scripting

sed or awk command to replace a string pattern with another string based on position of this string

here is what i want to achieve... consider a file contains below contents. the file size is large about 60mb cat dump.sql INSERT INTO `table1` (`id`, `action`, `date`, `descrip`, `lastModified`) VALUES (1,'Change','2011-05-05 00:00:00','Account Updated','2012-02-10... (10 Replies)
Discussion started by: vivek d r
10 Replies

5. Shell Programming and Scripting

bash script to find date based on search string for continuesly updating file

Hi All, I am very new to UNIX and I have tried this for a longtime now and unable to crack it.... There is a file that is continuously updating. I need to search for the string and find the date @ which it updated every day..... eg: String is "work started" The log entry is as below: ... (1 Reply)
Discussion started by: Nithz
1 Replies

6. Shell Programming and Scripting

Use grep sed or awk to extract string from log file and put into CSV

I'd like to copy strings from a log file and put them into a CSV. The strings could be on different line numbers, depending on size of log. Example Log File: File = foo.bat Date = 11/11/11 User = Foo Bar Size = 1024 ... CSV should look like: "foo.bat","11/11/11","Foo Bar","1024" (7 Replies)
Discussion started by: chipperuga
7 Replies

7. Shell Programming and Scripting

Extract string from multiple file based on line count number

Hi, I search all forum, but I can not find solutions of my problem :( I have multiple files (5000 files), inside there is this data : FILE 1: 1195.921 -898.995 0.750312E-02-0.497526E-02 0.195382E-05 0.609417E-05 -2021.287 1305.479-0.819754E-02 0.107572E-01 0.313018E-05 0.885066E-05 ... (15 Replies)
Discussion started by: guns
15 Replies

8. Shell Programming and Scripting

Extracting data between tags based on search string from unix file

Input file is on Linux box and the input file has data in just one line with 1699741696 characters. Sample Input: <xxx><document coll="uspatfull" version="0"><CMSdoc>xxxantivirus</CMSdoc><tag1>1</tag1></document><document coll="uspatfull"... (5 Replies)
Discussion started by: gaya
5 Replies

9. Shell Programming and Scripting

Search for string in a file and extract another string to a variable

Hi, guys. I have one question: I need to search for a string in a file, and then extract another string from the file and assign it to a variable. For example: the contents of the file (group) is below: ... ftp:x:23: mail:x:34 ... testing:x:2001 sales:x:2002 development:x:2003 ...... (6 Replies)
Discussion started by: daikeyang
6 Replies

10. Shell Programming and Scripting

appending string to text file based on search string

Hi, I need to append string "Hi" to the beginning of the lines containing some specific string. How can I achieve that? Please help. Malay (1 Reply)
Discussion started by: malaymaru
1 Replies
Login or Register to Ask a Question
IMDB-TOOLS(1)						      General Commands Manual						     IMDB-TOOLS(1)

NAME
imdb-get -- Looks up IMDB data for a film. SYNOPSIS
imdb-get [options] [--imdb-id id] [-l id] [--search search string] [-s search string] [--filename filename] [-f filename] [-h ] [--help] DESCRIPTION
This manual page documents briefly the imdb-get command. imdb-get has three modes. It can be called with imdb ID and a set of details to print, in which case it will retrieve those details either from the cache or IMDB. Secondly, it can be called with a filename in which case it will look the file up in the cache (resolving symlinks as appropriate and checking for multiple disks from the same film) and if that fails it will use the filename to search IMDB. Alterna- tively it may be used with just a search string, which will always search IMDB. OPTIONS
These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below. -h --help Print syntax and options. -l --imdb-id Specify IMDBID to use in queries. -s --search Specify search string to use in queries. -f --filename Specify filename. Will be used to form search queries if no ID or search string is specified. -i --id Print IMDB ID (default if nothing else is selected). -t --title Print film title. -g --genre Print film genres. --tag Print film tag line. -y --year Print film year. -c --cover Print cover art URI. -m --print-filename Print film genres. -a --all Print all film details. -e --cachedir Set cache directory. -d --download-cover Download cover art locally. -r --refresh Force an update from IMDB not the cache. -n --rename Rename file based on IMDB title. -u --update-filename Update the filename in a stored record --prune-duplicates Removes cache files with duplicate filename entries. (Removes all but the most recently modified cache file) --refresh-cache Refresh all the details in the cache from IMDB (may be slow). FILES
Config options are read from /etc/imdbgetrc or $HOME/.imdbgetrc SEE ALSO
imdb(1) imdb-rename(1) imdb-link(1) imdb-update-cache(1) imdbgetrc(5) imdb-fxd(1) AUTHOR
This manual page was written by Matthew Johnson <debian@matthew.ath.cx>. Permission is granted to copy, distribute and/or modify this docu- ment under the terms of the GNU General Public License, Version 2 as published by the Free Software Foundation. On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL-2. IMDB-TOOLS(1)