04-20-2009
@quirkasaurus: The pipe is the alternating operator, demanding that either the expression on the left or on the right has to be met. In this particular regex it means that the string "airplane" starts straightaway or after a whitespace character (\s). The whitespace char then, however, would not be in the regex result because of the "?<=" sequence. That is called positive lookbehind meaning that after a whitespace the string "airplane" has to be found.
You've got something similiar at the end of the regex: This time we're dealing with a positiv lookahead assertion, though. Additionally, the pipe operator is there one again, telling that the expression has to be followed by a whitespace char (lookahead) or ends right away ($).
@devtakh: Unfortunately, it's not changing anything. What's the use of the escaped angle brackets?
If you want to go with awk you could use my script in a for loop. Each iteration then sets a new character as input field separator and output field separator.
But hopefully, someone will provide a more elegant solution
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello.
I have a dir of 1500+ dir. In these dirs is a file host, with a tag <x_tag>.
I need to :
1. grep for all dir that contain this host file that contain <x_tag>
2. print a list of these host files containing <x_tag>
is this better to egrep this? (5 Replies)
Discussion started by: t4st33@mac.com
5 Replies
2. Shell Programming and Scripting
I am having a heck of a time trying to write a script that will grep for multiple strings in a single file. I am really at my wits end here and I am hoping to get some feedback here.
Basic information:
OS: Solaris 9
Shell: KSH
Oracle Database server
I was trying to grep through a file... (5 Replies)
Discussion started by: thecoffeeguy
5 Replies
3. Shell Programming and Scripting
Trying to find a way to grep for two names on a line. Both names must appear on the same line so '|' / OR is out.
So far, I'm just messing around and I've got
find . -name "*" | xargs grep "Smith"
Let me explain. I'm at a top level and need to know all the names of the files that... (6 Replies)
Discussion started by: Rally_Point
6 Replies
4. Shell Programming and Scripting
I've got this command that I've been using to find strings on the same line, say I'm doing a search for name:
find . -name "*" | xargs grep -i "Doe" | grep -i "John" > output.txt
This gives me every line in a file that has John and Doe in it. I'm looking to add a OR operator for the second... (5 Replies)
Discussion started by: Rally_Point
5 Replies
5. Shell Programming and Scripting
/Path/snowbird9/nrfCompMgrRave1230100920.log.gz:09/20/2010 06:14:51 ERROR Error Message.
/Path/snowbird6/nrfCompMgrRave1220100920.log.gz:09/20/2010 06:14:51 ERROR Error Message.
/Path/snowbird14/nrfCompMgrRave920100920.log.gz:09/20/2010 06:14:51 ERROR Error Message.... (0 Replies)
Discussion started by: Shirisha
0 Replies
6. Shell Programming and Scripting
QUESTION1:
How do you grep only an exact string. I am using Solaris10 and do not have any GNU products installed.
Contents of car.txt
CAR1_KEY0
CAR1_KEY1
CAR2_KEY0
CAR2_KEY1
CAR1_KEY10
CURRENT COMMAND LINE: WHERE VARIABLE CAR_NUMBER=1 AND KEY_NUMBER=1
grep... (1 Reply)
Discussion started by: thibodc
1 Replies
7. Shell Programming and Scripting
Im stumped on this one. Id like to echo into a .txt file all names for an xml feed in a huge folder. Can that be done?? Id need to echo <name>This name</name> in client.xml files.
$path="/mnt/windows/path"
echo 'recording names'
cd "$path"
for names in $path
than Im stuck on... (2 Replies)
Discussion started by: graphicsman
2 Replies
8. Shell Programming and Scripting
I have 3-column tab separated data that looks like the following:
act of+n-a-large+vn-tell-v 0.067427
act_com of+n+n-a-large-manufacturer-n 0.129922
act-act_com-com in+n-j+vn-pass-aux-restate-v 0.364499666667
com nmod+n-j+ns-invader-n 0.527521
act_com-com obj+n-a-j+vd-contribute-v 0.091413... (2 Replies)
Discussion started by: owwow14
2 Replies
9. Shell Programming and Scripting
Hi All,
I have the Input as below:
21011513 6030 5570 1710 0 0 5140 0 3430 3430 0
21049513 152340 138260 101210 0 0 134440 0 33880 33880 0
31003514 16100 13280 7580 3250 1530 15650 8090 8100 ... (22 Replies)
Discussion started by: am24
22 Replies
10. Shell Programming and Scripting
more data.txt
i need this exacted from data.txt
This is the command i tried
sed -n "/Start_of_DISK_info:\/u/,/End_of_DISK_info:\/u/p" data.txtBut, unfortunately it does not do an exact match. Instead, it prints text between both these strings /u & /u/tmp like below.
i need this... (6 Replies)
Discussion started by: mohtashims
6 Replies
LEARN ABOUT CENTOS
re_comp
RE_COMP(3) Linux Programmer's Manual RE_COMP(3)
NAME
re_comp, re_exec - BSD regex functions
SYNOPSIS
#define _REGEX_RE_COMP
#include <sys/types.h>
#include <regex.h>
char *re_comp(char *regex);
int re_exec(char *string);
DESCRIPTION
re_comp() is used to compile the null-terminated regular expression pointed to by regex. The compiled pattern occupies a static area, the
pattern buffer, which is overwritten by subsequent use of re_comp(). If regex is NULL, no operation is performed and the pattern buffer's
contents are not altered.
re_exec() is used to assess whether the null-terminated string pointed to by string matches the previously compiled regex.
RETURN VALUE
re_comp() returns NULL on successful compilation of regex otherwise it returns a pointer to an appropriate error message.
re_exec() returns 1 for a successful match, zero for failure.
ATTRIBUTES
Multithreading (see pthreads(7))
The re_comp() and re_exec() functions are not thread-safe.
CONFORMING TO
4.3BSD.
NOTES
These functions are obsolete; the functions documented in regcomp(3) should be used instead.
SEE ALSO
regcomp(3), regex(7), GNU regex manual
COLOPHON
This page is part of release 3.53 of the Linux man-pages project. A description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
GNU
2013-06-21 RE_COMP(3)