一、grep 命令
1. 语法:
- options pattern file pattern表示为字符串
2. 常用参数
- -n 显示匹配的行号
- -i 忽略大小写
- -v 显示不能被pattern匹配到的行
- -E 支持拓展正则表达式
- -q 静默模式,不输出任何信息
- -c 只统计匹配的行数
- -w 只匹配过滤的单词
- -o 只输出匹配的内容
二、sed命令
1. 语法:
- sed [选项参数] [sed内置命令字符] [输入文件]
2. 常用选项参数及内置命令
参数:
- -n 取消默认的sed输出,常与sed内置命令p一起使用
- -i 直接将修改结果写入文件,不用-i修改在内存中进行,对文件无影响
- -e 多次编辑,不需要管道符了
- -r 支持拓展正则
内置命令:
- a append,对文本追加,在指定行后面添加内容
- d delete,删除匹配行
- i insert,表示插入文本,在指定行前插入
- p print,打印匹配行的内容,常与-n一起使用
- s/正则/替换内容/g 匹配正则内容,然后进行替换,g代表全局global
范围:
- 空地址 全文处理
- 单地址 指定文件某一行
- /pattern/ 被模式匹配到的每一行
- 范围区间 10,29十到二十行,10,+5第十行向下5行,/pattern1/,/pattern2/
- 步长 1~2,表示从第1行开始,取间隔为2的行,1,3,5,7…,2~2为两个步长,从2开始
三 、awk命令
1. 语法:
- awk [options] ‘pattern[action]’ file …
- 最常用的action为print,printf
2. awk内置变量
- $0 表示整行
- $NF (number of fields)表示当前分割的最后一列
- $(NF-1) 表示倒数第二列
- NR(number of records) 当前记录数,行数NR==5,表示指定第5行
- $n 表示第n列
- FS 输入字段分割符,默认为空格配合-v Fs=’[ :]'修改输入分隔符
- OFS 输出字段分隔符,默认为空格
- RS 输入换行,指定输入时的换行符
- ORS 输出换行符
- FNR 个文件分别计数的行号
- FILENAME 当前文件名
3. 参数
- -F 指定分割字符段
- -v 定义或者修改一个awk内部的变量
- -f 从脚本文件中读取awk命令
四、find命令
- 说明:find命令用来在指定的目录下查找文件,任何位于参数之前的字符串都将被视为欲查找的文件名,如果不设置参数,则在当前目录下查找字目录文件
1. 语法:
- find pathname -命令参数 限定条件 执行动作
2. 参数:
参数:
- -maxdepth 最大目录层级
- -mindepth 最小目录层级
tests模块:
- -atime 访问时间
- -ctime 变化时间,文件数据元例如权限,最后一次修改时间
- -mtime 修改时间,指数据变动
- -name 文件名
- -group 所属组
- -perm 按权限查找
- -size n[cwbkMG] 按文件大小查找
- -type 查找某一类型的文件
d - 目录
f - 普通文件
l - 符号链接 - -user 按文件属主查找
- -path 配合-prune参数排查目录
action模块:
- -prune 让find命令不在指定的目录找
- -delete 删除找出的文件
- -exec or -ok 对匹配的文件执行相应的shell命令
- -print 将匹配的结果进行标准输出
operators:
- ! 取反
- -a 取交集 &&
- -o取并集 ||
xargs命令
1. 参数:
- -d 为输入定制一个分割符,默认分隔符是空格
- -i 用{}传递的数据
- -I string 用string来代替传递的参数
- -n 选项限制单个命令行的参数个数
- -t 显示执行详情
- -p 交互模式