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:]]。
全部的可用类如下表:
类 | 成员 |
---|---|
alnum | A-Z、a-z、0-9 |
alpha | A-Z、a-z |
blank | 空格和制表符 |
cntrl | ASCII字符0-31 |
digit | 0-9 |
graph | A-Z、a-z、0-9与标点符号 |
lower | a-z |
ASCII字符32-127 | |
punct | 标点符号(A-Z、a-z、0-9以外的可打印字符) |
space | 空格、制表符、LF(10)、VT(11)、FF(12)、CR(13) |
upper | A-Z |
xdigit | 0-9、A-F、a-f |
例如:
$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解释,双引号中的单引号会被保留。 反斜线,正确显示某些字符。 例 ("),(;),(!),(、),(\\) 用于续行
相关文章推荐
- linux快捷键
- Linux下源码安装软件
- linux命令之进程级的操作
- linux命令之文件级的操作
- linux命令之SVN操作
- linux svn提交错误
- Linux IPC (Semaphore)
- Linux Notes
- linux命令之数据库操作
- linux ftok()函数
- Linux内核:通过wait_event和wake_up内在机制分析等待队列
- Linux - 延伸正则表达式
- Linux - 延伸正则表达式
- CentOS7内核升级
- linux下安装mysql
- linux3.2下adt7320的spi驱动编写
- Linux - sed 工具
- Linux - sed 工具
- centos 配置本地yum源
- Linux进程间通信方式--信号,管道,消息队列,信号量,共享内存