Linux bash 扩展
2016-05-09 22:39
323 查看
版权声明:本文为博主原创文章,转载请注明文章来源。
一、花括号扩展(brace expansion)
使用方法:一对花括号扩起来即可,前后都可以再有其他东西。花括号里面可以是一列逗号分隔的字符串,或者是一个序列。
序列的格式如下:{start..end..increament}
注意点:
花括号可以嵌套。
扩展的结果不会排序,而是保持原有的顺序。
花括号扩展是完全字面的,扩展里即使有特殊字符也不会被bash解释。
花括号扩展的文件或者路径原本存在不存在是没有关系的。
二、波浪线扩展(tilde expansion)
这个用法好像很简单。
~表示家目录
~user表示user的家目录。
三、路径扩展(pathname expansion)
含有*,?,[ 的词会被当成一个模式(pattern),这个有点类似正则里的模式。而这些词会按照字典序排列成一个文件列表。
*代表任意字符,包括空字符。
?代表任意一个字符。
[set]代表set中的任意一个字符。
[!set]或者[^set]表示不在set中的任意一个字符。
posix standard:
[:alpha:], [:alnum:], [:digit:], [:lower:], [:upper:]
一、花括号扩展(brace expansion)
使用方法:一对花括号扩起来即可,前后都可以再有其他东西。花括号里面可以是一列逗号分隔的字符串,或者是一个序列。
序列的格式如下:{start..end..increament}
注意点:
花括号可以嵌套。
扩展的结果不会排序,而是保持原有的顺序。
花括号扩展是完全字面的,扩展里即使有特殊字符也不会被bash解释。
花括号扩展的文件或者路径原本存在不存在是没有关系的。
二、波浪线扩展(tilde expansion)
这个用法好像很简单。
~表示家目录
~user表示user的家目录。
三、路径扩展(pathname expansion)
含有*,?,[ 的词会被当成一个模式(pattern),这个有点类似正则里的模式。而这些词会按照字典序排列成一个文件列表。
*代表任意字符,包括空字符。
?代表任意一个字符。
[set]代表set中的任意一个字符。
[!set]或者[^set]表示不在set中的任意一个字符。
posix standard:
[:alpha:], [:alnum:], [:digit:], [:lower:], [:upper:]
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Linux 下无损图片压缩小工具介绍