awk 'BEGIN {
b = "MIGAU1\tEXEC SQL\nMIGAU1\t\t"
b = b "BEGIN DECLARE SECTION\nMIGAU1\tEND-EXEC"
e = "MIGAU1\tEXEC SQL\nMIGAU1\t\tEND DECLARE SECTION"
e = e "\nMIGAU1\tEND-EXEC"
}
/EXEC SQL/ { print b }
666
/END-EXEC/ { print e }
' infile
Edit: Just saw the "containing include" part, work in progress ...
---------- Post updated at 05:21 PM ---------- Previous update was at 05:10 PM ----------
Use gawk or /usr/xpg4/bin/awk on Solaris:
Code:
awk 'BEGIN {
b = "MIGAU1\tEXEC SQL\nMIGAU1\t\t"
b = b "BEGIN DECLARE SECTION\nMIGAU1\tEND-EXEC"
e = "MIGAU1\tEXEC SQL\nMIGAU1\t\tEND DECLARE SECTION"
e = e "\nMIGAU1\tEND-EXEC"
}
/EXEC SQL/, /END-EXEC/ {
r = r ? r RS $0 : $0
/INCLUDE/ && ok ++
if (/END-EXEC/) {
if (ok) {
print b RS r RS e
r = ok = x
}
else {
print r; r = x
}
}
next
}-3' infile
I need to list the files that do not match the search pattern:
Example:
cat file1
This is how it should work
cat file2
This is why I like Unix
grep -option? Unix * (or some other command)
returns file1 (1 Reply)
I need to list the files that do not match the search pattern:
Example:
cat file1
This is how it should work
cat file2
This is why I like Unix
grep -option? Unix * (or some other command)
returns file1 (7 Replies)
Hi
I need a command to search files in a directory which does not match with pattern .. Plz send me this
Ex : Test is directory and has some 10 files with different name all are with *.dat extension , need to search files which doesnot contain word "Dummy file".
Thanks (6 Replies)
Hello Guyz
I have been following this forum for a while and the solutions provided are super useful. I currently have a scenario where i need to search for a pattern and start searching by keeping the first pattern as a baseline
ABC
DEF
LMN
EFG
HIJ
LMN
OPQ
In the above text i need to... (8 Replies)
hi,
i am using ftp command to get some files from a remote server.
if the remote server contains files of different extension.
abc.txt
def.txt
ghi.lst
jkl.cnf
is it possible to get all the three type of files in one ftp?
i am using this ftp command
$FTP $Remote_server <<_FTP1
... (4 Replies)
Hi Experts
Please help me out with the following thing:
2 files and want the output file: {No for using FOR loop because I got 22 million lines}
Tried that "It processes only 8000 records per hour"
I need a faster way out !!!
FileA:
9051
9052
9053
9054
9055
9056
9057
9058
9059
... (5 Replies)
I need to match two patterns in a log file and need to get the next line of the one of the pattern (out of two patterns) that is matched,
finally need to print these three values in a single line.
Sample Log:
2013/06/11 14:29:04 <0999> (725102) Processing batch 02_1231324
2013/06/11... (4 Replies)
Hi
I am using Solaris 5.10 & ksh
Wanted to loop through a pattern file by reading it and passing it to the awk to match that value present in column 1 of rawdata.txt , if so print column 1 & 2 in to Avlblpatterns.txt. Using the following code but it seems some mistakes and it is running for... (2 Replies)
I have this fileA
TEST FILE ABC
this file contains ABC;
TEST FILE DGHT this file contains DGHT;
TEST FILE 123
this file contains ABC,
this file contains DEF,
this file contains XYZ,
this file contains KLM
;
I want to have a fileZ that has only (begin search pattern for will be... (2 Replies)
Discussion started by: vbabz
2 Replies
LEARN ABOUT PLAN9
grep
GREP(1) General Commands Manual GREP(1)NAME
grep - search a file for a pattern
SYNOPSIS
grep [ option ... ] pattern [ file ... ]
DESCRIPTION
Grep searches the input files (standard input default) for lines (with newlines excluded) that match the pattern, a regular expression as
defined in regexp(6). Normally, each line matching the pattern is `selected', and each selected line is copied to the standard output.
The options are
-c Print only a count of matching lines.
-h Do not print file name tags (headers) with output lines.
-i Ignore alphabetic case distinctions. The implementation folds into lower case all letters in the pattern and input before interpre-
tation. Matched lines are printed in their original form.
-l (ell) Print the names of files with selected lines; don't print the lines.
-L Print the names of files with no selected lines; the converse of -l.
-n Mark each printed line with its line number counted in its file.
-s Produce no output, but return status.
-v Reverse: print lines that do not match the pattern.
Output lines are tagged by file name when there is more than one input file. (To force this tagging, include /dev/null as a file name
argument.)
Care should be taken when using the shell metacharacters $*[^|()= and newline in pattern; it is safest to enclose the entire expression in
single quotes '...'.
SOURCE
/sys/src/cmd/grep.c
SEE ALSO ed(1), awk(1), sed(1), sam(1), regexp(6)DIAGNOSTICS
Exit status is null if any lines are selected, or non-null when no lines are selected or an error occurs.
GREP(1)