您的位置:首页 > 运维架构 > Linux

linux随笔-2

2015-08-07 16:43 573 查看

通配符

文件名扩展

? 、*、 {1,2,3 }、[a-z]

例:

$ls a[a-z]c.txt
abc.txt
$


[ ]范围可以任意选择,但[a-z]与[0-9]用的最多,另外有一些定义好的类可以代替这两个范围,并且意义相同。[a-z]等同于[[:alpha:]],[0-9]等同于[[:digit:]]。

全部的可用类如下表:

成员
alnumA-Z、a-z、0-9
alphaA-Z、a-z
blank空格和制表符
cntrlASCII字符0-31
digit0-9
graphA-Z、a-z、0-9与标点符号
lowera-z
printASCII字符32-127
punct标点符号(A-Z、a-z、0-9以外的可打印字符)
space空格、制表符、LF(10)、VT(11)、FF(12)、CR(13)
upperA-Z
xdigit0-9、A-F、a-f
使用 shopt -s nullglob 在没有匹配的情况下进行空串处理:

例如:

$for filename in a* b*
>do
> md5sum $filename
> done
54as6f5as56as4df654asf abc
87098asdf65asd87sddf6f abcsadf
md5sum: b*: No such file or directory

$shopt -s nullglob
$for filename in a* b*
>do
>  md5sum $filename
>done
54as6f5as56as4df654asf abc
87098asdf65asd87sddf6f abcsadf
$


类似的还有 failglob、 extglob

–extglob列表

模式匹配
?0或1个模式
*0或多个模式
+1或多个模式
@1个模式
!除了一个模式以外的模式
ls abc*
ls abc*(.php|.txt)
ls abc+(.txt|.php)
ls abc@(.txt|.php)
ls abc!(.txt|.php)


正则表达式和引用

sed s/$foo/$bar/g myfile
sed s/"$foo"/"$bar"/g myfile


引用

三种形式:

单引号、双引号、反斜线

单引号,防止shell解释其中内容
双引号,部分字符会被shell解释,双引号中的单引号会被保留。
反斜线,正确显示某些字符。 例 ("),(;),(!),(、),(\\)
用于续行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: