Sponsored Content
Top Forums Shell Programming and Scripting Search word in a line and print earlier pattern match Post 302337784 by Franklin52 on Saturday 25th of July 2009 07:25:27 AM
Old 07-25-2009
Quote:
Originally Posted by susau_79
Hi Franlin, Thanks again for response, however looks like you have placed hardcoded test, this name is not fixed. I can be anything, so I am looking for any word which is coming right after keyword procedure, that needs to be printed.
Something like this?

Code:
awk '/procedure/{
  s=$0; f=1
  if(length < 10){
    line=""
    while(!line){getline line}
    s=s FS line
  }
}
/word1\.word2/ && f{print s;f=0}
' file

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

match a pattern, print it and the next line

I have a file nbu_faq.txt (Question/answer) which looks like this What I am trying to do is write out each question in a file1.txt and than the question/answer in a file2.txt like this file1.txt Q: What is nbu? Q: What is blablabla...? Q: Why ....? file2.txt Q: What is nbu? A:... (4 Replies)
Discussion started by: nymus7
4 Replies

2. Shell Programming and Scripting

match a pattern and print the line once

Hi, I have a xml file <cisco:name> <cisco:mdNm>Cisco Device 7500 A Series</cisco:mdNm> <cisco:meNm>10.1.100.19</cisco:meNm> <cisco:ehNm>/shelf=1</cisco:ehNm> <cisco:subname> <cisco:meNm>10.1.100.19</cisco:meNm> <cisco:sptp>Cisco PortA Series</cisco:sptp> ... (11 Replies)
Discussion started by: bhagirathi
11 Replies

3. Shell Programming and Scripting

Print word 1 in line 1 and word 2 in line 2 if it matches a pattern

i have a file in this pattern MATCH1 word1 IMAGE word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH1 word1 IMAGE word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1 word2 word3 word4 MATCH2 word1... (7 Replies)
Discussion started by: bangaram
7 Replies

4. UNIX for Dummies Questions & Answers

MATCH A PATTERN AND PRINT A LINE ABOVE AND BELOW

Dear All, Hv a very specific requirement. I have a very large text file and in which I have to match a pattern and insert a line above and below. Eg: My file cat test date1 date2 date3 date4 I need to match 'date3' and insert "Reminder1" above date3 and insert 'reminder2'... (4 Replies)
Discussion started by: gokulj
4 Replies

5. Shell Programming and Scripting

print word after pattern match in two instances

i have a file like below. how can i printout the digits followed by the pattern -bwout and -bwin. say i run the script by entering line number 145 (the fourth line), then the o/p should be like 5000000 1024000 8 test1 -ipprot erp -ppsout 500 -ppsin 500 -bwout 300000 -bwin 300000 -statsdevice... (7 Replies)
Discussion started by: sb245
7 Replies

6. Shell Programming and Scripting

Need one liner to search pattern and print everything expect 6 lines from where pattern match made

i need to search for a pattern from a big file and print everything expect the next 6 lines from where the pattern match was made. (8 Replies)
Discussion started by: chidori
8 Replies

7. Shell Programming and Scripting

Print only next pattern in a line after a pattern match

I have 2013-06-11 23:55:14 1Umexd-0004cm-IG <= user@domain.com I need sed/awk operation on this, so that it should print the very next pattern only after the the pattern mach <= ie only print user@domain.com (7 Replies)
Discussion started by: anil510
7 Replies

8. Shell Programming and Scripting

How to match the first word and print only that line in UNIX?

Below is the file DISK-A 109063.2 49 31 40.79 DISK-B 110058.5 49 44 57.07 DISK-c 4402.4 2 1 2.14 from the file, i want to search for 'DISK-A' and print only that line with the first word matching to DISK-A and the output should skip DISK-A. Desired Output: (If i'm... (2 Replies)
Discussion started by: web2moha
2 Replies

9. Shell Programming and Scripting

Match Pattern and print pattern and multiple lines into one line

Hello Experts , require help . See below output: File inputs ------------------------------------------ Server Host = mike id rl images allocated last updated density vimages expiration last read <------- STATUS ------->... (4 Replies)
Discussion started by: tigerhills
4 Replies

10. Shell Programming and Scripting

Need to print the next word from the same line based on grep string condtion match.

I need to fetch particular string from log file based on grep condition match. Actual requirement is need to print the next word from the same line based on grep string condtion match. File :Java.lanag.xyz......File copied completed : abc.txt Ouput :abc.txt I have used below... (5 Replies)
Discussion started by: siva83
5 Replies
MATCH(1L)						      Schily's USER COMMANDS							 MATCH(1L)

NAME
match - searches for patterns in files SYNOPSIS
match [ -option ] pattern [ file ... ] DESCRIPTION
Match searches the named files or standard input (if no filenames are given) for the occurrences of the given pattern on each line. The program accepts literal characters or special pattern matching characters. All lines that match the pattern are output on standard output. You can only specify one pattern string for each match, however, you can construct an arbitrarily complex string. When you do not specify a file, match can be used as a filter to display desired lines. Standard in is used if no files are specified. OPTIONS
-not, -v Prints all lines that do not match. -i Ignore the case of letters -m Force not to use the magic mode -w Search for pattern as a word -x Display only those lines which match exactly -c Display matching count for each file -l Display name of each file which matches -s Be silent indicate match in exit code -h Do not display filenames -n Precede matching lines with line number (with respect to the input file) -b Precede matching lines with block number REGULAR EXPRESSIONS
The following is a table of all the pattern matching characters: c An ordinary character (not one of the special characters discussed below) is a one character regular expression that matches that character. c A backslash () followed by any special character is a one character regular expression that matches the special character itself. The special characters are: ! # % * { } [ ] ? ^ $ ! Logical OR as in match this!that!the_other. You may have to use `{}' for precedence grouping. # A hash mark followed by any regular expression matches any number (including zero) occurrences of the regular expression. ? Matches exactly any one character. W? matches Wa, Wb, Wc, W1, W2, W3 ... * Matches any number of any character. % Matches exactly nothing. It can be used in groups of ored patterns to specify that an empty alternative is possible. {} Curly brackets may be used to enclose patterns to specify a precedence grouping, and may be nested. {%!{test}}version matches the strings testversion and version. [string] A non empty string of characters enclosed in square brackets is a one character regular expression that matches any one character in that string. If however the first character of the string is a circumflex (^), the one character expression matches any character which is not in the string. The ^ has this special meaning only if it occurs first in the string. The minus (-) may be used to indi- cate a range of consecutive ASCII characters; for example, [0-9] is equivalent to any one of the digits. The - loses it's special meaning if it occurs first (after an initial ^, if any) or last in the string. The right square bracket (]) and the backslash () must be quoted with a backslash if you want to use it within the string. ^ Matches the beginning of a line. $ Matches the end of a line. (^*$ matches any entire line) EXAMPLES
FILES
None. SEE ALSO
grep(1), fgrep(1), egrep(1) DIAGNOSTICS
NOTES
Even if a match occurs more than once per line, the line is output only once. Quote special pattern matching characters to prevent them from being expanded by the Command Interpreter. BUGS
The length of the pattern is currently limited to 100 characters. This limit is reduced by 38 if the -w option is used. Joerg Schilling 15. Juli 1988 MATCH(1L)
All times are GMT -4. The time now is 01:40 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy