Find grep sed awk
- Find:用于在指定目录下查找文件和目录
- grep:用于文本搜索指定模式,可以根据正则表达式来搜索匹配的文本行,并将匹配的行输出到标准输出
- Sed:是流编辑器,用于对文本进行输出到标准输出,可以根据规则对文本进行替换,删除,插入等操作
- awk:是一种用于对文本和数据进行格式化和处理的强大工具,以行为单位对文本进行处理,并可以按照字段对文本进行分割,过滤,计算等操作等
Find命令常用选项:
1.-name:按照文件名查找文件,可已使用通配符进行模糊匹配
2.-type:按照文件类型查找文件,包括普通文件(f)目录(d)符号链接(l)等
3.-size:按照文件大小查找文件,可以使用+和-来指定大小范围
4.-mtime:按照文件修改时间查找文件,可以使用+和-来指定天数范围
5.-user:按照文件所属用户和组查找文件
6.-group:按照文件所属用户和组查找文件
7.-exec:对查找的文件执行指定文件
8.-iname:类似于-name,但不区分大小写
9.-ctime:按照文件状态发生变化的时间进行搜索
10.-atime:按照文件最后被访问的时间进行搜索
11.-delete:删除搜索到的文件
12.-maxdepth:限制搜索的深度
13.-mindepth:指定搜索的起始原度
14.inum:12345 inode号12345查找
15.tmp-mindepth:指定最小搜索深度为多少
16.stc-perm111:在/etc目录下查找权限为111的文件
17.home-user joe:在/home目录下查找属于用户joe的文件
18.dev -empty:查找/dev中的空文件或空目录
19.exec:对搜索结果执行指定命令,{}表示搜索结果的占位符,\;表示命令结束
20.-or:表示逻辑“或”,用于组合多个条件
Grep命令常用选项:
- -i:忽略大小写
- -v:反向匹配,即显示不包含指定模式的行
- -r:递归搜索,在指定目录及其子目录中搜索
- -n:显示匹配行及其行号
- -c:显示匹配行的数量
- -l:仅显示不包含匹配行的文件名
- -L:仅显示不包含匹配行的文件名
- -w; 匹配整个单词
- -o:仅显示匹配到的部分
- -A n:显示匹配行后的n行
- -B n:显示匹配行前的n行
- -C n:显示匹配行前后的n行
- -P:使用Perl兼容的正则表达式
- -e:允许使用多个模式进行搜索
- -A NUM:显示匹配行及其后NUM行
- -B NUM:显示匹配行及其前NUM行
- -C NUM:显示匹配行及前后哥NUM行
- -E:启用扩展的正则的表达式,支持更多的匹配模式
- -O:仅输出匹配的部分内容,而不是整行
- grep -r -i -n “example” /path/to/directory 在/path/to/dorectoy及其子目录中搜索不区分大小写的“example”并输出匹配行及其行号
Sed命令常用选项;
- -e:允许多个编辑命令
- -i:直接修改文件内容,而不是输出到标准输出
- -n:仅输出匹配行
- -r:使用扩展正则表达式
- -f:从文件中读取编辑命令
- p:打印匹配行
- d:删除匹配行
- s:替换匹配文本
- y:转换字符
- a:在匹配行后添加文本
- i:在匹配行前插入文本
- c:替换匹配行
- =:输出行号
- r:从文件中读取内容并插入到匹配行后
- w:将匹配行写入文件
- P:打印模式空间的第一行
- D:删除模式空间的第一行
- h:将模式空间复制到保持空间
- H:将模式空间追加到保持空间
- g:将保持空间复制到模式空间
awk命令常用选项:
- print:打印指定字段或表达式
- printf:按指定格式打印字段或表达式
- If和else:条件语句
- for:循环语句
- while: 循环语句
- do-while:循环语句
- break:跳出循环
- continue:跳过当前循环迭代
- netx:跳过当前记录的处理,开始处理下一条记录
- exit:退出awk程序
- netxile:跳过当前文件的处理,开始处理下一个文件
- length:返回字符串长度
- substr:返回子字符串
- index: 返回子字符串在字符串中首次出现的位置
- split:将字符串拆分为数组
- sub:在字符串中替换第一个匹配的子字符串
- gsub: 在字符串中全局替换匹配的子字符串
- match: 在字符串中查找匹配的子字符串
- tolower: 将字符串转换为小写
- toupper: 将字符串转换为大写