Sponsored Content
Top Forums Shell Programming and Scripting Extracting line matching a phrase and then the next lines after it Post 302373086 by muay_tb on Thursday 19th of November 2009 11:13:37 AM
Old 11-19-2009
Quote:
Originally Posted by danmero
You can use grep -Ax if your grep support this option, awk or sed shell script, etc...
The answer and the solution depend on your required output.
Unfortunately I do not have the grep -A option as I am on older systems.

All i want is to extract the information, at this stage no formatting is required so:

Code:
id=123
time=10:00:00
date=12/12/09
<SPACE>
id=123
time=11:00:00
date=12/12/09

....
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Logfile - extracting certain lines to concatenate into 1 line

I've got a log file from automatic diagnostic runs. The log file is appended to each time an automatic log is run. I'd like to just pull certain lines from each run in the log file, and concatenate them into 1 comma delimited line (for export into excel or an html table). Each diagnostic run... (3 Replies)
Discussion started by: BecTech
3 Replies

2. Shell Programming and Scripting

help extracting a matching pattern and next lines of match

Hi there, i'm having some problems just making an awk script (i've tried this way, but other way can be posible for sure), for the next file file.txt <register> <createProfile> <result>0</result> <description><!]></description> <msisdn>34661461174</msisdn> <inputOmvID>1</inputOmvID>... (6 Replies)
Discussion started by: vicious
6 Replies

3. Shell Programming and Scripting

Extracting a string matching a pattern from a line

Hi All, I am pretty new to pattern matching and extraction using shell scripting. Could anyone please help me in extracting the word matching a pattern from a line in bash. Input Sample (can vary between any of the 3 samples below): 1) Adaptec SCSI RAID 5445 2) Adaptec SCSI 5445S RAID 3)... (8 Replies)
Discussion started by: jharish
8 Replies

4. 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

5. Shell Programming and Scripting

Extracting lines after nth LINE from an output

Hi all, Here is my problem for which i am breaking my head for past three days.. I have parted command output as follows.. Model: ATA WDC WD5000AAKS-0 (scsi) Disk /dev/sdb: 500GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type ... (3 Replies)
Discussion started by: selvarajvs
3 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

Insert lines above matching line with content from matching

Hi, I have text file: Name: xyz Gender: M Address: "120_B_C; ksilskdj; lsudlfw" Zip: 20392 Name: KLM Gender: F Address: "65_D_F; wnmlsi;lsuod;,...." Zip:90233I want to insert 2 new lines before the 'Address: ' line deriving value from this Address line value The Address value in quotes... (1 Reply)
Discussion started by: ysrini
1 Replies

8. Shell Programming and Scripting

How to find a phrase and pull all lines that follow until the phrase occurs again?

I want to burst a report by using the page number value in the report header. Each section starts with *PAGE NO:* 1 Each section might have several pages, but the next section always starts back at 1. So I want to find the "*PAGE NO:* 1" value and pull all lines that follow until "*PAGE NO:* 1"... (4 Replies)
Discussion started by: Scottie1954
4 Replies

9. 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

10. UNIX for Dummies Questions & Answers

Extracting the two lines where the first line is matched

Hi, If I have a file of something like @hg19_gold_AL122127.6-131160 GCTTCATCATGCATGGATAGGCTGGCGCCTTTCCTGAGGCCATATGCCGATGGATATG @hg19_gold_AL122127.6-131159 CTTTAATATTTCCGCCACCATCCTGAGTGAATCCCAGCAAGGACAGTCTTTGGGGATT @hg19_gold_AL122127.6-131158... (4 Replies)
Discussion started by: jyu429
4 Replies
FILTERDIFF(1)							     Man pages							     FILTERDIFF(1)

NAME
filterdiff - extract or exclude diffs from a diff file SYNOPSIS
filterdiff [[-i PATTERN] | [--include=PATTERN]] [[-I FILE] | [--include-from-file=FILE]] [[-p n] | [--strip-match=n]] [--strip=n] [--addprefix=PREFIX] [--addoldprefix=PREFIX] [--addnewprefix=PREFIX] [[-x PATTERN] | [--exclude=PATTERN]] [[-X FILE] | [--exclude-from-file=FILE]] [[-v] | [--verbose]] [--clean] [[-z] | [--decompress]] [[-# RANGE] | [--hunks=RANGE]] [--lines=RANGE] [--files=RANGE] [--annotate] [--format=FORMAT] [--as-numbered-lines=WHEN] [--remove-timestamps] [file...] filterdiff {[--help] | [--version] | [--list] | [--grep ...]} DESCRIPTION
You can use filterdiff to obtain a patch that applies to files matching the shell wildcard PATTERN from a larger collection of patches. For example, to see the patches in patch-2.4.3.gz that apply to all files called lp.c: filterdiff -z -i '*/lp.c' patch-2.4.3.gz If neither -i nor -x options are given, -i '*' is assumed. This way filterdiff can be used to clean up an existing diff file, removing redundant lines from the beginning (eg. the text from the mail body) or between the chunks (eg. in CVS diffs). To extract pure patch data, use a command like this: filterdiff message-with-diff-in-the-body > patch Note that the interpretation of the shell wildcard pattern does not count slash characters or periods as special (in other words, no flags are given to fnmatch). This is so that "*/basename"-type patterns can be given without limiting the number of pathname components. You can use both unified and context format diffs with this program. OPTIONS
-i PATTERN, --include=PATTERN Include only files matching PATTERN. All other lines in the input are suppressed. -I FILE, --include-from-file=FILE Include only files matching any pattern listed in FILE, one pattern per line. All other lines in the input are suppressed. -x PATTERN, --exclude=PATTERN Exclude files matching PATTERN. All other lines in the input are displayed. -X FILE, --exclude-from-file=FILE Exclude files matching any pattern listed in FILE, one pattern per line. All other lines in the input are displayed. -p n, --strip-match=n When matching, ignore the first n components of the pathname. -# RANGE, --hunks=RANGE Only include hunks within the specified RANGE. Hunks are numbered from 1, and the range is a comma-separated list of numbers or "first-last" spans; either the first or the last in the span may be omitted to indicate no limit in that direction. --lines=RANGE Only include hunks that contain lines from the original file that lie within the specified RANGE. Lines are numbered from 1, and the range is a comma-separated list of numbers or "first-last" spans; either the first or the last in the span may be omitted to indicate no limit in that direction. --files=RANGE Only include files indicated by the specified RANGE. Files are numbered from 1 in the order they appear in the patch input, and the range is a comma-separated list of numbers or "first-last" spans; either the first or the last in the span may be omitted to indicate no limit in that direction. --annotate Annotate each hunk with the filename and hunk number. --format=unified|context Use specified output format. --strip=n Remove the first n components of pathnames in the output. --addprefix=PREFIX Prefix pathnames in the output by PREFIX. This will override any individual settings specified with the --addoldprefix or --addnewprefix options. --addoldprefix=PREFIX Prefix pathnames for old or original files in the output by PREFIX. --addnewprefix=PREFIX Prefix pathnames for updated or new files in the output by PREFIX. --as-numbered-lines=before|after Instead of a patch fragment, display the lines of the selected hunks with the line number of the file before (or after) the patch is applied, followed by a TAB character and a colon, at the beginning of each line. Each hunk except the first will have a line consisting of "..." before it. --remove-timestamps Do not include file timestamps in the output. -v, --verbose Always show non-diff lines in the output. By default, non-diff lines are only shown when excluding a filename pattern. --clean Always remove all non-diff lines from the output. Even when excluding a filename pattern. -z, --decompress Decompress files with extensions .gz and .bz2. --help Display a short usage message. --version Display the version number of filterdiff. --list Behave like lsdiff(1) instead. --grep Behave like grepdiff(1) instead. EXAMPLES
To see all patch hunks that affect the first five lines of a C file: filterdiff -i '*.c' --lines=-5 < patch To see the first hunk of each file patch, use: filterdiff -#1 patchfile To see patches modifying a ChangeLog file in a subdirectory, use: filterdiff -p1 Changelog To see the complete patches for each patch that modifies line 1 of the original file, use: filterdiff --lines=1 patchfile | lsdiff | xargs -rn1 filterdiff patchfile -i To see all but the first hunk of a particular patch, you might use: filterdiff -p1 -i file.c -#2- foo-patch If you have a very specific list of hunks in a patch that you want to see, list them: filterdiff -#1,2,5-8,10,12,27- To see the lines of the files that would be patched as they will appear after the patch is applied, use: filterdiff --as-numbered-lines=after patch.file You can see the same context before the patch is applied with: filterdiff --as-numbered-lines=before patch.file Filterdiff can also be used to convert between unified and context format diffs: filterdiff -v --format=unified context.diff SEE ALSO
lsdiff(1), grepdiff(1) AUTHOR
Tim Waugh <twaugh@redhat.com> Package maintainer patchutils 23 Jan 2009 FILTERDIFF(1)
All times are GMT -4. The time now is 07:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy