awk中的条件语句是从C中借鉴过来的
语法:if (condition) {then-body} else {else-body}
例如使用awk来统计某个目录下的普通文件的大?。话ㄗ幽柯嫉模⒐说裟柯?。
循环语句也和C中的一样,支持while、do/while、for、continue、break等关键字 。
break和continue常用于循环中;
在awk中 , 数组的下标可以是数字或字母 。一般awk中的数组的作用是从记录中收集信息 , 用于计算总和、统计单词等 。
在awk中要删除一个元素的时候使用 delete array[index]
更多请参见awk官方文档[]
Linux find 命令详解 find 命令的基本结构如下:
find [paths] [expression] [actions]
find 命令接受一个或多个 路径 ( paths )作为搜索范围 , 并在该路径下 递归 地搜索 。即检索完指定的目录后,还会对该目录下的子目录进行检索 , 以及子目录下的子目录 。。。直到到达目录树底部 。
默认情况下(不带任何搜索条件),find 命令会返回指定目录下的 所有文件 ,所以常常需要通过特定的expression对结果进行 筛选。
find 命令默认的action是将所有检索结果打印至标准输出 。可以通过自定义action,让 find 命令对搜索到的结果执行特定的操作 。
这里先不做详细解释 , 简单地测试下 find 命令:
find 命令中的-name选项可以根据文件名称进行检索( 区分大小写 ) 。如需要忽略文件名中的大小写 , 可以使用-iname选项 。
-name和-iname两个选项都支持wildcards。如:
find /usr -name '*.txt'查找 /usr 目录下所有文件名以.txt结尾的文件
find /usr -name '????'查找 /usr 目录下所有文件名刚好为 4 个字符的文件
有些时候,你需要在搜索时匹配某个文件或目录的 完整路径,而不仅仅是匹配文件名 。可以使用-path或-ipath选项 。
如查找 /usr 下所有文件名以.txt结尾的文件或目录,且该文件的父目录必须是src。可以使用以下命令:
find /usr -path '*/src/*.txt'
如果只想搜索得到文件 或 目录 , 即不想它们同时出现在结果中 。可以使用-type选项指定文件类型 。
-type选项最常用的参数如下:
find /usr -type d -name 'python*'检索 /usr 下所有文件名以python开头的 目录
find 命令支持-empty选项用来检索 为空 的文件或目录 。空文件即文件里没有任何内容 , 空目录即目录中没有任何文件或子目录 。
find ~ -type d -empty检索用户主目录下所有的空目录
find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作) 。
如需要检索 /usr 下所有文件名 不 以.txt为后缀的文件 。可以使用以下命令:
find /usr -type f ! -name '*.txt'
也可以“翻转”任何其他的筛选条件 , 如:
find /usr -type f ! -empty检索 /usr 下所有内容不为空的文件
为了检索归属于特定用户的文件或目录 , 可以使用-user选项 。
find / -type f -user starky检索根目录下所有属主为 starky 的文件
类似于-user 选项,-group选项则可以根据文件或目录的 属组 进行检索 。
有些时候,需要根据文件创建或修改的时间进行检索 。
Linux 系统中,与文件相关联的时间参数有以下三种:
与此对应的是 find 命令中的-mtime,-atime和-ctime三个选项 。
这三个选项的使用遵循以下示例中的规则:
find /usr -type f -mtime 2检索 /usr 下两天前被修改过的文件
如果觉得-mtime等选项以 天 为单位时间有点长,还可以使用-mmin , -amin ,-cmin三个选项:
find /usr -type f -mtime +50 -mtime -100检索 /usr 下 50 到 100 天之前修改过的文件
推荐阅读
- 闭关网络游戏的英文,闭关网络游戏的英文翻译
- 关于postgresqlsharding的信息
- thinkphps方法无效,thinkphp i方法
- 电脑没用的接口叫什么,电脑接口不够用
- linux查看安全性命令 linux系统的安全
- flutter编译器原理,flutter工作原理
- 拍摄照片什么档,拍照片什么风格的最好看
- 温州养成类游戏制作平台,温州游戏陪玩
- c语言函数怎么打印结果 c打印函数名