10-09-2008
Quote:
Originally Posted by
Drenhead
That worked! Can you give me a quick explanation of what it is doing? [...]
I suppose you're asking about the parameter expansion:
Quote:
${variable #pattern} value of variable without the smallest beginning portion that matches
pattern
${variable ##pattern} value of variable without the largest beginning portion that matches
pattern
${variable%pattern} value of variable without the smallest ending portion that matches
pattern
${variable%%pattern} value of variable without the largest ending portion that matches
pattern
This is usually described in your shell man pages under
Parameter Expansion.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Dear All,
I want to compare column 3 and column 4 of files(File1 and File2) and want to get the matched records in one file and rejected records in another file.I have tried an awk script,but as Iam not good in it,I cant able to continue.Can anyone help me in this one.
File 1... (0 Replies)
Discussion started by: cskumar
0 Replies
2. Shell Programming and Scripting
How do I alter this command so that it prints only the second comma delimited field from line number 3? Secondly, how do you redirect the output to a variable called TEST?
Thanks
(cat BATCH007.TXT | awk 'BEGIN { FS = "," } ; {print $2 }') (5 Replies)
Discussion started by: ddurden7
5 Replies
3. Shell Programming and Scripting
Hi ,
i have a file a.txt like this:
far
near
veryfar
toonear
typeset var1=veryfar
to extract the text between two strings i use the following command :
awk '/far/,$veryfar/' a.txt
its not working
can nyone tell pls whats wrong in it ?
i doubt can we use variable in awk like this... (3 Replies)
Discussion started by: santosh1234
3 Replies
4. UNIX for Dummies Questions & Answers
I have a log file monitor script that checks through a log file for a string. I use awk to search the log file, starting at the last checked line, for the specified string and then output the count and the last row number checked. The part of the script that does all the work is here:
set --... (6 Replies)
Discussion started by: mglenney
6 Replies
5. Shell Programming and Scripting
hi,
I have input file woth records as shown below
OCSMRC_OK,7057348733,+0.00,0,18/05/2010 23:42:19,BellMobility,302610000918553,0006056099,B30,686505,686505,OCS_MRC,+49.14,0,0
,0,0,
OCSPPKB_NOK,4163460120,+1.25,0,18/05/2010... (4 Replies)
Discussion started by: raghavendra.cse
4 Replies
6. UNIX for Dummies Questions & Answers
Dear all,
I am new to use unix. I run the following command and got the error. Anyone knows how should I modify the command. Thanks a lot!
$
for chr in 'seq 1 23';
do
awk 'BEGIN {print "T","pheno";}{print "M",$2}' out_${chr}.map > dat_${chr}.dat;
done
error message:... (2 Replies)
Discussion started by: forevertl
2 Replies
7. Shell Programming and Scripting
Hi,
i have input records as shown below.
4097,Probe3,G10,255,05/17/2011 12:44:03:185,NULL,05/17/2011 12:39:03:180,05/17/2011... (1 Reply)
Discussion started by: raghavendra.nsn
1 Replies
8. Shell Programming and Scripting
Hi Experts,
I have a file (file 1) with several columns and I need to create 2 files based on the data of 20th column of file 1.
Criteria 1 : If the 20th field of file1 is empty , copy the entire records to file 2.
I am successfully able to do this with the following awk code :
awk... (2 Replies)
Discussion started by: nua7
2 Replies
9. Shell Programming and Scripting
Hi Everyone,
i have following in my file
1
2
3
4
5
6
.
.
100
and now i want the output as
1 4 7 ..........so on..............97 100 (10 Replies)
Discussion started by: zozoo
10 Replies
10. Shell Programming and Scripting
Hi..
have a file as below, appreciate if someone can help on this
143|500| 10| 23353 22131 23355 23354 23358 23352 23357 23350 23349 23351| RAID5
213|1008| 9| 22419 22412 221 22413 22414 22416 22417 22415 22418| RAID6
1088|500| 5| 22243 22240 22244 22242 22241| RAID5
322|1200| 12|... (6 Replies)
Discussion started by: richard0@rediff
6 Replies
LEARN ABOUT OPENDARWIN
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)