That won't work either. If no file matches the pattern, the pattern remains unmodified and will be assigned to the array as is.
Some shells can be told to replace unmatched patterns with a null string (e.g. bash's shopt -s nullglob), but this is not the default, standard-compliant behavior.
Absolutely right, Alister!
Thanks for pointing this out!
For zsh: setopt nullglob or your_pattern(N).
For ksh93: ~(N)your_pattern.
In some cases dotglob could also be desirable.
If none of the above shells is available:
Code:
for f in *EQST*; do
if [ -e "$f" ]; then
echo exist
break
fi
done
Hi,
I want to find the files available in a directory /var/user/*/*/data/.
I tried using the command "find /var/user/ -path '*/*/data/ -name '*' -type f" it says find: 0652-017 -path is not a valid option and then i tried using "find /var/user/ -name '*/*/data/*' -type f" but its not... (3 Replies)
I suspect this is commonly done, but haven't found the right combination of search terms to find the answer.
I want to grep for lines in .cpp files that contain only 1 '=' sign in an if statement. e.g.,
if (a = b) -- find this
if (a==b) -- don't find this
My attempt:
egrep... (7 Replies)
I'm trying to math all class references in a C++ file using grep with regular expression. I'm trying to know if a specific include is usuless or not, so I have to know if there is a refence in cpp.
I wrote this RE that searches for a reference from class ABCZ, but unfortunately it isn't working... (0 Replies)
Hi,
in the cobol copy books is there any regular expressions to be used in awk to fetch the length of each columns?
below mentioned are the examples.
Copy Book Sample
01 tablename.
02 group header.
03 col1 s9(10)V99.
03 Col2 s9(10)V9(3).
03 Col3 XXXX
02... (7 Replies)
Hello everyone,
first post here, trying to learn scripting on my own and this forum as been really helpful so far. I made few little scripts working great but I m facing some problems with RE.
I have a bunch of files in many subdirectories called *001.ext *002.ext OR simple *.ext or *01.ext... (7 Replies)
Hi,
I need to compare file names in a folder with several strings(which are in regular expression format):
For example:
there is a file "objectMyHistoryBook" and there are several strings to compare this file name with:
objectMyMaths*, objectMyEnglish*, objectMyHistory*,... (2 Replies)
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
Hello,
I am trying to use regex wtih find command in KSH. For some reason it is not working as expected.
Input:
comm_000_abc_0102.c
comm_000_abc.c
456_000_abc_1212.cpp
456_000_abc_.cpp
Expected Output:
comm_000_abc_0102.c
kkm_000_abc_8888.cpp
(Basically I want to find all... (6 Replies)
Hi Gurus,
I need to identify the file with below format:
ABC20110101.DAT
ABCD2011010103.DAT
If I use ABC*\.DAT, it get two file. I want to get file after "ABC' then number, the ".DAT".
I tried
ABC* but it doesn't work.
Thanks in advance. (9 Replies)
I have files:
sum_<INPUT FILENAME>.YYYYMMDDhhmmss.csv
and
sum_details_<INPUT FILENAME>.YYYYMMDDhhmmss.csv
I have no idea, what is input filename, but in the code I would like to catch them in case
I process them in the loop above case statement
for *.${Today}.*.txt... (3 Replies)
Discussion started by: digioleg54
3 Replies
LEARN ABOUT BSD
fnmatch
FNMATCH(3) Linux Programmer's Manual FNMATCH(3)NAME
fnmatch - match filename or pathname
SYNOPSIS
#include <fnmatch.h>
int fnmatch(const char *pattern, const char *string, int flags);
DESCRIPTION
The fnmatch() function checks whether the string argument matches the pattern argument, which is a shell wildcard pattern.
The flags argument modifies the behavior; it is the bitwise OR of zero or more of the following flags:
FNM_NOESCAPE
If this flag is set, treat backslash as an ordinary character, instead of an escape character.
FNM_PATHNAME
If this flag is set, match a slash in string only with a slash in pattern and not by an asterisk (*) or a question mark (?)
metacharacter, nor by a bracket expression ([]) containing a slash.
FNM_PERIOD
If this flag is set, a leading period in string has to be matched exactly by a period in pattern. A period is considered to be
leading if it is the first character in string, or if both FNM_PATHNAME is set and the period immediately follows a slash.
FNM_FILE_NAME
This is a GNU synonym for FNM_PATHNAME.
FNM_LEADING_DIR
If this flag (a GNU extension) is set, the pattern is considered to be matched if it matches an initial segment of string which is
followed by a slash. This flag is mainly for the internal use of glibc and is implemented only in certain cases.
FNM_CASEFOLD
If this flag (a GNU extension) is set, the pattern is matched case-insensitively.
FNM_EXTMATCH
If this flag (a GNU extension) is set, extended patterns are supported, as introduced by 'ksh' and now supported by other shells.
The extended format is as follows, with pattern-list being a '|' separated list of patterns.
'?(pattern-list)'
The pattern matches if zero or one occurrences of any of the patterns in the pattern-list match the input string.
'*(pattern-list)'
The pattern matches if zero or more occurrences of any of the patterns in the pattern-list match the input string.
'+(pattern-list)'
The pattern matches if one or more occurrences of any of the patterns in the pattern-list match the input string.
'@(pattern-list)'
The pattern matches if exactly one occurrence of any of the patterns in the pattern-list match the input string.
'!(pattern-list)'
The pattern matches if the input string cannot be matched with any of the patterns in the pattern-list.
RETURN VALUE
Zero if string matches pattern, FNM_NOMATCH if there is no match or another nonzero value if there is an error.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7).
+----------+---------------+--------------------+
|Interface | Attribute | Value |
+----------+---------------+--------------------+
|fnmatch() | Thread safety | MT-Safe env locale |
+----------+---------------+--------------------+
CONFORMING TO
POSIX.1-2001, POSIX.1-2008, POSIX.2. The FNM_FILE_NAME, FNM_LEADING_DIR, and FNM_CASEFOLD flags are GNU extensions.
SEE ALSO sh(1), glob(3), scandir(3), wordexp(3), glob(7)COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the
latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.
GNU 2015-12-28 FNMATCH(3)