Gebruikershulpmiddelen

Site-hulpmiddelen


linux:commandos:metachar

Unix/Linux Metacharacters

FILE NAME GENERATION CHARACTERS:

Will be interpreted by the shell before the command will be executed. The shell will look for matching file names in the current directory;the file name genera- tion characters on the command line will be replaced by the matching file names.

?     			any single character except a leading dot (as in .exrc)
*     			zero or more characters except a leading dot
[ ]   			specifies one position in the file name
[0-9]   		inclusive range: one of the numbers 0-9
[!0-9]                  exclusive range: any character but 0-9

Examples:

    $ echo .*                   all of the dotfiles in the current directory
    $ echo ?????		file names of 5 characters each, except dotfiles
    $ echo [a-z][0-9]?.org	file names of 7 characters each, starting with a
				lower case letter and a number, ending with .org
    $ ls -l f*			long listing of file names starting with "f"

QUOTING (used to prevent shell metacharacter interpretation):

'      '        single quotes  All metacharacters contained within single quotes
                               will lose their special meaning.
                               The shell won't interpret those metacharacters.
\              	backslash      The metacharacter after the backslash will lose
                               its special meaning.
"      "       	double quotes  All metacharacters contained within double quotes
                               will lose their special meaning except:
                               $variable, ${variable}, `cmd`, $(cmd), \
			       This means that the shell will still perform
                               variable substitution and command substitution.

Examples:

     $ PS1='$PWD $ '	       prompt will show current value of PWD variable
     $ find . -name f\*        all file names with "f" in the current directory
     $ echo "$TERM;$PATH"      values of TERM and PATH variable separated by ";"

REGULAR EXPRESSIONS (used to construct search patterns in applications):

.      			any single character
*      			zero or more times the preceding character
a*    			zero or more times "a"
[ ]    			specifies one position in the search pattern
[abcd]                  one of the characters "a", "b", "c" or "d"
[A-Z]                   inclusive range: one upper case letter
[^A-Z]                  exclusive range: any character but A-Z
^user                   the string "user" at the beginning of the line
user$                   the string "user" at the end of the line

Examples:

    $ grep '^user' /etc/passwd	all lines starting with the string "user"
    $ ps -ef | grep 'root'	all processes of "root"
    $ vi f1
      :1,10s/[Aa]nd/OR/g	in lines 1 to 10 inclusively globally substitute
                                the string "And" or "and" by "OR"

Copyright (C) 2000 Integrated Services; tux4u.nl
Author: Drs.M.Waldorp-Bonk
metachar.html 20000708

linux/commandos/metachar.txt · Laatst gewijzigd: 2018/12/30 17:17 (Externe bewerking)