egrep/fgrep/grep is a line-oriented tool. The regular expression will NEVER span across lines because grep operates one line at a time.
The reason the regular expression with the bracket expression [^"\n] does not match "What uncouth dialect is that?" is because within the bracket expression the backslash ceases to be a special character; the sequence \n in [^"\n] does not represent a newline character, but a forward slash and an n, two separate characters. Since this translates to any character that is not a quote, backslash, or n, the n in "uncouth" prevents the match from ocurring.
For the nitty gritty on bracket expressions, refer to Regular Expressions, from which the following is extracted:
Quote:
Originally Posted by POSIX
The special characters '.', '*', '[', and '\' (period, asterisk, left-bracket, and backslash, respectively) shall lose their special meaning within a bracket expression.
Hello,
I want to compare two files. All records in file 2 that are not in file 1 should be output to file 3.
For example:
file 1
123
1234
123456
file 2
123
2345
23456
file 3 should have
2345
23456
I have looked at diff, bdiff, cmp, comm, diff3 without any luck! (2 Replies)
hi all,
i want to do this shell script.
create a script that will check the transferred file vs. orig file.
1. diff the file1 and file2
2. if difference found, retain the original file and email to netcracker team.
3. if no difference found, delete the previous file and retain... (3 Replies)
Hi,
svn diff does not work very well with 2 local folders, so I am trying to do this diff using diff locally.
since there's a bunch of meta files in an svn directory, I want to do a diff that excludes everything EXCEPT *.java files. there seems to be only an --exclude option, so I'm not sure... (3 Replies)
OS : SuSE Linux 10 (zOS)
I create two files test1 and test2
/home/me # more test1
1 2 3 4 5
/home/me # more test2
1 2 3
I entered the following command on cronjob and its work
diff /home/me/test1 /home/me/test2 > /home/me/test3
its created test3.
But the output of test3 is as... (1 Reply)
Hi,
I am new to shell scripting.
please help me to find out the solution.
I need a script where we need to read the text file(consists of all file names) and get the file names one by one
and append the date suffix for each file name as 'yyyymmdd' .
Then search each file if exists... (1 Reply)
Hi I have a file like this
I need to delete all the lines between SQ and // and not the lines containing them.
So the desired output should be
I tried by using flip-flop operator
perl -wlne 'print if !(/SQ/../\/\//)'But its not printing the lines containing regexes.
Thanks in advance:b: (4 Replies)
Guys i have 3 files,
but i want to compare and diff only the 2nd column
path=`/home/whois/doms`
for i in `cat domain.tx`
do
whois $i| sed -n '/Registry Registrant ID:/,/Registrant Email:/p' > $path/$i.registrant
whois $i| sed -n '/Registry Admin ID:/,/Admin Email:/p' > $path/$i.admin... (10 Replies)
I am working on a multilingual dictionary and I have data in three columns. The data structure can be
word=word=gloss
or
word word=word word=gloss gloss
= acts as a delimiter
The number of words separated by the delimiter can be up to 8 or 10. The structure is well defined in the sense... (6 Replies)
Discussion started by: gimley
6 Replies
LEARN ABOUT NETBSD
re_exec
RE_COMP(3) BSD Library Functions Manual RE_COMP(3)NAME
re_comp, re_exec -- regular expression handler
LIBRARY
Compatibility Library (libcompat, -lcompat)
SYNOPSIS
#include <re_comp.h>
char *
re_comp(const char *s);
int
re_exec(const char *s);
DESCRIPTION
This interface is made obsolete by regex(3). It is available from the compatibility library, libcompat.
The re_comp() function compiles a string into an internal form suitable for pattern matching. The re_exec() function checks the argument
string against the last string passed to re_comp().
The re_comp() function returns 0 if the string s was compiled successfully; otherwise a string containing an error message is returned. If
re_comp() is passed 0 or a null string, it returns without changing the currently compiled regular expression.
The re_exec() function returns 1 if the string s matches the last compiled regular expression, 0 if the string s failed to match the last
compiled regular expression, and -1 if the compiled regular expression was invalid (indicating an internal error).
The strings passed to both re_comp() and re_exec() may have trailing or embedded newline characters; they are terminated by NULs. The regu-
lar expressions recognized are described in the manual entry for ed(1), given the above difference.
DIAGNOSTICS
The re_exec() function returns -1 for an internal error.
The re_comp() function returns one of the following strings if an error occurs:
No previous regular expression,
Regular expression too long,
unmatched (,
missing ],
too many () pairs,
unmatched ).
SEE ALSO ed(1), egrep(1), ex(1), fgrep(1), grep(1), regex(3)HISTORY
The re_comp() and re_exec() functions appeared in 4.0BSD.
BSD June 4, 1993 BSD