10-15-2018
Hi, thank you.
That works at the given example. But if I am to remove one of the end brackets (like [*] ), this regex will find other bracket if exist within a filename ( like that [1] in the middle of the name).
But in most cases 99%, filenames will not have any extra brackets within the filename, mostly at the end. Just want to have it so there are no mistakes in case one pops up..
Is there any way to check if brackets are at the tail separated by space from filename (without extension)? And if they are then get contents, if not skippit.
As an example:
some [1] name [tag]
some [1] name <-- does not have brackets at the tail
Anyway, thank you very much for your reply. It helped a lot. I might end up just using that for now until I find a better solution.
Cheers
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
While I was reading a Sun SysAdmin Guide, I came across this point...
/etc/vfstab Field Descriptions
mount at boot -
The root (/), /usr and /var file systems are not mounted from the vfstab file initially.
This field should always be set to no for these file systems and for virtual file... (2 Replies)
Discussion started by: minazk
2 Replies
2. Shell Programming and Scripting
Hi
I want to do a regex test and branch based on the test result, but this doesn't seems to work :confused:
if \) ]]
then
echo success
else
echo failed
fi (1 Reply)
Discussion started by: subin_bala
1 Replies
3. Shell Programming and Scripting
Hello everybody,
I'm clearly not an expert in bash scripting as I've written maybe less than 10 scripts in my life. I'm trying to strip an xml string removing every tag in it. I'm using bash substitution to do so, but apparently I missed something about what is a regex for bash ...
As an... (4 Replies)
Discussion started by: kerloi
4 Replies
4. Shell Programming and Scripting
Hey all,
I have a very simple regular expression that I use when I want to allow only letters with spaces. (I know this regex has a lot of shortcomings, but I'm still trying to learn them)
isAlpha='^*$'However, when I bring this over to BASH it doesn't allow me to enter spaces.
I use the... (3 Replies)
Discussion started by: whyte_rhyno
3 Replies
5. Shell Programming and Scripting
I've been using the following regex below in a bash script on RHEL 5.5 using version
GNU bash, version 3.2.25(1)-release
I've tried using the script on RHEL 6.3 which uses GNU bash, version 4.1.2(1)-release
I assume there's been alot of changes to bash since that's quite a jump in revisions.... (12 Replies)
Discussion started by: woodson2
12 Replies
6. UNIX for Dummies Questions & Answers
Hi, I am trying to match this word: hexagon-bx.mydomain.com with regex. I have tried this:
"\.*]*$"
So far I have not been successful. I also need to make sure that the regex will match words that just have lowercase letters and numbers in them, such as camera01. How can I create such an... (5 Replies)
Discussion started by: newbie2010
5 Replies
7. Shell Programming and Scripting
I want to print the filename
keyword="XXTNL_AVSKRIV2ING"
ftype="sql'
I wan to search the keyword in all the sql files and the output shoul dbe filename:count
grep -iwc "$keyword" *.$ftype | grep -v ":0$"
But the output does not dispaly the filename which contains space as... (4 Replies)
Discussion started by: millan
4 Replies
8. AIX
Dear master Unix.com,
I ask about command,
what is command the meaning this?
and what the function?
/usr/lpp/diagnostics/bin/usysfault -s normal
regards,
-Ruhul (3 Replies)
Discussion started by: williamen
3 Replies
9. UNIX for Dummies Questions & Answers
I am trying to find files using the following by using simple bash script:
if -2014 ]]; then echo "yes";fi
What I need to find are any files with date 08-**-2014 so August 2014 any files.
I can use if -2014 ]]; then echo "yes";fi
That works fine. How do I get files beginning with 08... (1 Reply)
Discussion started by: newbie2010
1 Replies
10. Shell Programming and Scripting
I stumbled upon a problem, which I simplified to this:
There is a list of numbers, stored in variable $LIST, lets use `seq 5 25` for demonstration.
There is a number that should be compared against this list. For demonstration I use user input - read VALUE
I am trying to compare RegEx... (2 Replies)
Discussion started by: Zorbeg
2 Replies
LEARN ABOUT DEBIAN
shellexp
SHELLEXP(3) Library Functions Manual SHELLEXP(3)
NAME
shellexp - match string against a cruft filter pattern
SYNOPSIS
extern int shellexp(const char *string, const char *pattern);
DESCRIPTION
The shellexp() function is similar to fnmatch(3), but works with cruft patterns instead of standard glob(7) patterns. The function returns
a true value if string matches the cruft pattern pattern, and a false value (0) otherwise. Returns -1 in case of pattern syntax error.
Cruft patterns are similar to glob(7) patterns, but are not fully compatible. The following special characters are supported:
? (a question mark)
matches exacly one character of string other than a slash.
* matches zero or more characters of string other than a slash.
/** or /**/
matches zero or more path components in string. Please note that you can only use ** when directly following a slash, and further-
more, only when either directly preceding a slash or at the very end of pattern. A ** followed by anything other than a slash makes
pattern invalid. A ** following anything else than a slash reduces it to having the same effect as *.
[character-class]
Matches any character between the brackets exactly once. Named character classes are NOT supported. If the first character of the
class is ! or ^, then the meaning is inverted (matches any character NOT listed between the brackets). If you want to specify a
literal closing bracket in the class, then specify it as the first (or second, if you want to negate) character after the opening
bracket. Also, simple ASCII-order ranges are supported using a dash character (see examples section).
Any other character matches itself.
EXAMPLES
/a/b*/*c
matches /a/b/xyz.c, as well as /a/bcd/.c, but not /a/b/c/d.c.
/a/**/*.c
matches all of the following: /a/a.c, /a/b/a.c, /a/b/c/a.c and /a/b/c/d/a.c.
/a/[0-9][^0-9]*
matches /a/1abc, but not /a/12bc.
BUGS
Uses constant-length 1000 byte buffers to hold filenames. Also uses recursive function calls, which are not very efficient. Does not vali-
date the pattern before matching, so any pattern errors (unbalanced brackets or misplaced **) are only reported when and if the matching
algorithm reaches them.
SEE ALSO
fnmatch(3), glob(3), cruft(8) and dash-search(1).
AUTHOR
This manual page was written by Marcin Owsiany <porridge@debian.org>, for the Debian GNU/Linux system (but may be used by others).
October 17, 2007 SHELLEXP(3)