EnglishFrenchSpanish

Ad


OnWorks favicon

match - Online in the Cloud

Run match in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command match that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


match - Match strings against glob paterns

SYNOPSIS


match [-gilrqs] [-n <n>] [-c cmd] [-x code] {[-p] pattern | -f <file>} str1 [str2 ...]

DESCRIPTION


match checks strings against pattern, which should be a shell-like glob pattern. pattern
may contain the following special characters:

? A "?" character in pattern matches any single character in the string, except that the
"/" character is only matched if match was given the -s option.

* A "*" character in pattern matches zero or more characters in the string. The
exception is that it will only match "/" characters if match was given the -s option.

[...]
A set of characters between square brackets matches any character in the set. In
addition, the "-" character can be used to specify a range. For example "[+e0-3]"
would match any of the characters "+", "e", 0, 1, 2, or 3 in the input string. To
include a hyphen ("-") in the set of characters matched, either include the hyphen
first or last, or escape it with a "\".

[!...]
A character class preceded by a "!" matches any character but those specified in the
class. The exception is that the negated character class will match a "/" only if
match was given the -s option.

\c The backslash character escapes the next character c. Thus, to match a literal "*",
you would use the pattern "\*".

match prints each string that matches pattern, one per line, and exits 0 if one or more
strings matched. If no string matches, match exits with status 67 (or whatever alternate
status was specified by the -x flag). If the -n n flag was specified, match prints only
the text that matched the nth occurrence of "*" in the patten.

OPTIONS
-f file
Specifies that the pattern should be read from file. match will read each line of the
file and consider it as pattern to match against the argument strings. For each
argument string, match stops when it hits the first matching line of the file. If
file does not exist, match exits 67, or whatever code was specified by -x.

-g Normally, the -n option selects text matching particular "*" characters in the patern.
-g changes this behavior to use parentheses for grouping. Thus, for instance, the
text "foo.c" would match pattern "*(.[ch])", and the output with option -n 1 would be
".c". To include a literal "(" or ")" in the pattern with the -g option, you must
precede the character with a "\".

-i Makes the match case insensitive. str will be considered to match if any variation on
its capitalization would match. For example, string "G" would match pattern "[f-h]".

-l When a pattern matches the string in more than one way, the -l flag says to assign as
much text as possible to the leftmost "*"s in the pattern. For example, pattern "*+*"
would match text "a+b+c", and the first "*" would match "a+b". This behavior is the
default, thus -l's effect is only to undo a previous -r flag.

-n n
With this flag, match prints the text that matched the nth "*" in the pattern, as
opposed to printing the whole string. The leftmost "*" corresponds to -n 1.
Specifying -n 0 causes match to print the whole matching string. Specifying -n -1 or
using a value greater than the number of "*"s in the pattern causes match not to print
anything, in which case you can still use the exit status to see if there is a match.
The default value for n is 0, unless -g has also been specified, in which case the
default is 1.

-c command
When -c is specified, match runs command with the system shell (/bin/sh), giving it as
argument $0 the full string that matched, and as arguments $1, $2, etc., the parts of
the string that matched any "*"s in pattern. If the command does not exit with status
0, match will exit immediately, before processing further matches, with whatever
status command returned. The -c and -n flags are mutually exclusive.

-p pattern
Specifies the pattern to match against. The -p flag is optional; you can specify
pattern as the first argument following the options. However, if you want to try
matching the same input string against multiple patterns, then you must specify each
pattern with a -p flag.

-q This option is synonymous with -n -1; it suppresses output when there is a match. You
can still determine whether a match occurred by the exit status.

-r When a pattern matches the string in more than one way, the -r flag says to assign as
much text as possible to the rightmost "*"s in the pattern. For example, with -r,
pattern "*+*" would match text "a+b+c" with the "*" matching "a", and the second
matching "b+c".

-s Ordinarily, "*", "?", and negated character classes ("[!...]") do not match "/"
characters. -s changes this behavior to match slashes.

-x code
By default, when there is no match, match exits with status 67. With this option,
match exits with status code, instead.

EXAMPLES


Suppose you have a directory with a bunch of files ending .c and .o. If, for each file
named foo.c you want to attempt to delete the file foo.o, you can run the following
command:

match -p '*.c' -c 'rm -f $1.o' *.c

Servers running the mailman list manager often send mail from bounce addresses of the form
listname-[email protected]. If you subscribe to multiple lists on the same server, the
mailman interface makes it easier if you subscribe under the same address. To split the
mail into multiple folders based on the bounce address in the environment variable SENDER,
you might chose a mailbox with the following shell code:

name=`match -n1 "*-[email protected]" "$SENDER"` \
&& echo "$HOME/Mail/incoming/host-$name.spool"

Use match online using onworks.net services


Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Eclipse Tomcat Plugin
    Eclipse Tomcat Plugin
    The Eclipse Tomcat Plugin provides
    simple integration of a tomcat servlet
    container for the development of java
    web applications. You can join us for
    discussio...
    Download Eclipse Tomcat Plugin
  • 2
    WebTorrent Desktop
    WebTorrent Desktop
    WebTorrent Desktop is for streaming
    torrents on Mac, Windows or Linux. It
    connects to both BitTorrent and
    WebTorrent peers. Now there's no
    need to wait for...
    Download WebTorrent Desktop
  • 3
    GenX
    GenX
    GenX is a scientific program to refine
    x-ray refelcetivity, neutron
    reflectivity and surface x-ray
    diffraction data using the differential
    evolution algorithm....
    Download GenX
  • 4
    pspp4windows
    pspp4windows
    PSPP is a program for statistical
    analysis of sampled data. It is a free
    replacement for the proprietary program
    SPSS. PSPP has both text-based and
    graphical us...
    Download pspp4windows
  • 5
    Git Extensions
    Git Extensions
    Git Extensions is a standalone UI tool
    for managing Git repositories. It also
    integrates with Windows Explorer and
    Microsoft Visual Studio
    (2015/2017/2019). Th...
    Download Git Extensions
  • 6
    eSpeak: speech synthesis
    eSpeak: speech synthesis
    Text to Speech engine for English and
    many other languages. Compact size with
    clear but artificial pronunciation.
    Available as a command-line program with
    many ...
    Download eSpeak: speech synthesis
  • More »

Linux commands

Ad