Don't get me wrong, regex is a great and wonderful tool. However, from what I understand regex in C is re-compiled every time it runs. That would not be so bad if I was not planning to call this code later many times with threads on a system where resources are very tight. For that reason I'm trying to stay away from them if possible.
I tried looking at fnmatch earlier. I changed my while loop to this, but the pattern was not matched:
I looked at the man page and some examples online and appears the second parameter to fnmatch() needs to be a constant or a struct value. Either that or I'm doing something wrong I don't know?
I'm trying to figure out how to build a small shell script that will find old .shtml files in every /tgp/ directory on the server and delete them if they are older than 10 days...
The structure of the paths are like this:
/home/domains/www.domain2.com/tgp/
/home/domains/www.domain3.com/tgp/... (1 Reply)
Hi,
I have file 1.txt with following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433
**
**
**
In file 2.txt I have the following entries as shown:
0152364|134444|10.20.30.40|015236433
0233654|122555|10.20.30.50|023365433... (4 Replies)
Hi all,
I'm looking for some help. I have a file (very long) that is organized like below:
>Cluster 0
0 283nt, >01_FRYJ6ZM12HMXZS... at +/99%
1 279nt, >01_FRYJ6ZM12HN12A... at +/99%
2 281nt, >01_FRYJ6ZM12HM4TS... at +/99%
3 283nt, >01_FRYJ6ZM12HM946... at +/99%
4 279nt,... (4 Replies)
Toby> cat sample1
This is some arbitrary text before var1, This IS SOME DIFFERENT ARBITRARY TEXT before var2
Toby> sed -e 's/^This .* before //' -e 's/This .* before //' sample1
var2
I need to convert the above text in sample1 so that the output becomes
var1, var2
by... (2 Replies)
Hi,
I am trying to get a result out of this but fails please help. Have two files /tmp/1 & /tmp/hosts.
/tmp/1
IP=123.456.789.01
WAS_HOSTNAME=abcdefgh.was.tb.dsdc
/tmp/hosts
123.456.789.01
I want this result in /tmp/hosts if hostname is already there dont want duplicate entry.
... (5 Replies)
'Hi
I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match.
Which option is to be used to exclude the line containing the pattern?
sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
The sample file:
dept1: user1,user2,user3
dept2: user4,user5,user6
dept3: user7,user8,user9
I want to match by '/^dept2.*/' but don't want to have substring 'dept2:' in output. How to compose such regex? (8 Replies)
Hi all!
Thanks for taking the time to view this!
I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern.
Example:
Drink a soda
Eat a banana
Eat multiple bananas
Drink an apple juice
Eat an apple
Eat multiple apples
I... (8 Replies)
Hello All,
I hope this is the right area. If not, Kindly let me know and I will report in the appropriate spot.
I am needing to find a search pattern that will make the * act as Wildcard in the search pattern instead of being literal.
The example I am using is bzgrep "to=<*@domain.com>"... (5 Replies)
Hi,
I know how to replace a string with another in a file.
But, i wish to replace the below string pattern
EncryptedPassword="{gafgfa}]\asffafsf312a" i.e EncryptedPassword="<any random string>"
To
EncryptedPassword=""
i.e remove the random password to a empty string.
Can you... (3 Replies)
Discussion started by: mohtashims
3 Replies
LEARN ABOUT MOJAVE
fnmatch
FNMATCH(3) BSD Library Functions Manual FNMATCH(3)NAME
fnmatch -- test whether a filename or pathname matches a shell-style pattern
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
#include <fnmatch.h>
int
fnmatch(const char *pattern, const char *string, int flags);
DESCRIPTION
The fnmatch() function matches patterns according to the rules used by the shell. It checks the string specified by the string argument to
see if it matches the pattern specified by the pattern argument.
The flags argument modifies the interpretation of pattern and string. The value of flags is the bitwise inclusive OR of any of the following
constants, which are defined in the include file <fnmatch.h>.
FNM_NOESCAPE Normally, every occurrence of a backslash ('') followed by a character in pattern is replaced by that character. This is done
to negate any special meaning for the character. If the FNM_NOESCAPE flag is set, a backslash character is treated as an ordi-
nary character.
FNM_PATHNAME Slash characters in string must be explicitly matched by slashes in pattern. If this flag is not set, then slashes are treated
as regular characters.
FNM_PERIOD Leading periods in string must be explicitly matched by periods in pattern. If this flag is not set, then leading periods are
treated as regular characters. The definition of ``leading'' is related to the specification of FNM_PATHNAME. A period is
always ``leading'' if it is the first character in string. Additionally, if FNM_PATHNAME is set, a period is leading if it
immediately follows a slash.
FNM_LEADING_DIR
Ignore ``/*'' rest after successful pattern matching.
FNM_CASEFOLD Ignore case distinctions in both the pattern and the string.
RETURN VALUES
The fnmatch() function returns zero if string matches the pattern specified by pattern. It returns the value FNM_NOMATCH if no match is
found. Otherwise, another non-zero value is returned on error.
LEGACY RETURN VALUES
The fnmatch() function returns zero if string matches the pattern specified by pattern; otherwise, it returns the value FNM_NOMATCH.
SEE ALSO sh(1), glob(3), regex(3)STANDARDS
The current implementation of the fnmatch() function does not conform to IEEE Std 1003.2 (``POSIX.2''). Collating symbol expressions, equiv-
alence class expressions and character class expressions are not supported.
HISTORY
The fnmatch() function first appeared in 4.4BSD.
BUGS
The pattern '*' matches the empty string, even if FNM_PATHNAME is specified.
BSD July 18, 2004 BSD