04-21-2006
You should read "man ksh", it's all in there...but briefly: ${var%%pattern} removes the largest string that matches the pattern from the end of the value of the variable. And +([! ]) is a pattern that matches non-blanks.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi there,
I want some help on scripting regarding file processing.
I have a scenario in which I have 10 files. (file1.txt, file2.txt....) and they are in paricular format.
I want to read these files and append some text lines at the begining of each file and write this updated contents of... (2 Replies)
Discussion started by: chiragmistry21
2 Replies
2. UNIX for Dummies Questions & Answers
Hi
I have a tab delimited file with 3 fields. I need to sort this file on the first field and remove all the records where the first field has dulplicates. For eg my file is
133|arrfdfdg|sdfdsg
234|asfsdgfs|aasdfs
133|affbfsde|dgfg
When this file gets sorted I need the result to be ... (2 Replies)
Discussion started by: monks
2 Replies
3. UNIX for Dummies Questions & Answers
Hi :)
I am writing a ksh
I have a string of general format
A12B3456CD78
the string is of variable length
the string always ends with numbers (here it is 78.. it can be any number of digits may be 789 or just 7)
before these ending numbers are alphabets (here it is CD can even be... (3 Replies)
Discussion started by: lakshmikanth
3 Replies
4. Shell Programming and Scripting
Hey everyone. So the background of the problem is that the ps3 does not support the mkv container, but DOES support the avi one. Here is the script to convert one file with the name hardcoded in:
#!/bin/sh
mencoder -oac... (2 Replies)
Discussion started by: wua05
2 Replies
5. Shell Programming and Scripting
Hi All,
can you tell me how to drop all preceding zeros in a number. For example, if i have a numbers like 000876838347 and 0000007854762543..how to make them as 876838347 and 7854762543. (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies
6. Shell Programming and Scripting
Can you give me some suggestions to split below string into three parts using shell scripts.. Script has to print all alphabets before the number, then number and then all alphabets after the number..
input: chris martin 200173 845747 mech engineer
output: chris martin 200173 845747 mech... (6 Replies)
Discussion started by: nram_krishna@ya
6 Replies
7. Programming
Hi
I need to save the actual cursor position into variable in my script.
How can I do it ?
thx for help. (1 Reply)
Discussion started by: presul
1 Replies
8. Linux
Hello
I am a newbie in linux.
Please tell me what are atomic operations in Linux.
IS i++ a atomic oparation??
Please help.. (3 Replies)
Discussion started by: aditya08
3 Replies
9. Shell Programming and Scripting
Hi everyone,
I need little help in shell operations from C++ program.
Here I furnish the details of problem:
1. Lets say my current working path is myWorkingPath.
2. In my working path I have list of name directories and each name directory has two more sub directories say A/B.
(now path to... (5 Replies)
Discussion started by: linuxUser_
5 Replies
10. Shell Programming and Scripting
Hi Folks,
Below is example of an Input data which is used, based on the last 2, 3 & 4 column, I want my first column data to be collated as shown in the output section.
a,ac,tc,ic
b,ac,tc,ic
c,ac,tc,ic
d,ac,tc,ic
b,bc,tc,ic
d,bc,tc,ic
e,bc,tc,ic
I want my output to be
... (2 Replies)
Discussion started by: nikhil jain
2 Replies
LEARN ABOUT ULTRIX
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)