shell 函数: shell 中允许将一组命令集合或语句形成一段可用代码, 这些代码块称为 shell 函数. 给这段代码起个名字称为函数名, 后续可以直接调用该段代码.
格式: fun() { 命令 }
Shell 正则表达式
定义: 匹配字符串, 为了处理大量得文本和字符串指定的一套规则和方法.
分类: 基础正则和扩展正则(+ ? | () )
正则与通配的区别:
1) 三剑客 awk sed egrep 都是正则
2) 文件目录名 -- 通配符 ; 文件内容(字符串, 文本内容)-- 正则表达式
. 匹配任意单个字符
^ 匹配前面字符串开头
$ 匹配前面字符串结尾
* 匹配前一个字符的零个或多个
.* 表示任意长度的任意字符
+ 表示前面的字符初选最少一次的情况
? 表示前面字符出现最多一次
[ ]表示范围内的一个字符
[.-.]匹配括号里的任意一个字符
^[^]匹配 [^] 字符之外的任意一个字符
{n,m}表示最少 n 次 最多 m 次
\>锚定单词尾部
\<锁定单词首部
( )调用前面第一个分组
| 或
例: 打印出包含某个关键词的文件(关键词执行脚本时接收)
- #!/bin/bash
- key=$1
- for file in `find / -type f`
- do
- grep "$key" $file &>/dev/null
- if [ $? -eq 0 ];then
- echo $file
- sleep 1
- fi
- done
统计系统中以. sh 结尾的文件总大小, 输出结果以 kb 为单位
- #!/bin/bash
- sum=0
- for size in `find /root -name "*.sh" -exec ls -l {} \; | cut -d " " -f 5`
- do
- let sum+=$size
- done
- echo "$((sum/1024))kb"
来源: http://www.bubuko.com/infodetail-3027580.html