shell三剑客

grep

 egrep | grep -E :支持正则表达式的拓展元字符
 fgrep | grep -F :输入的任何东西都当成一个字符串处理
 grep -r :递归查找
 grep -o :准确只打印过滤内容
 grep -v :取反

sed

语法:sed 参数 模式

常用于进行文本替换

 参数:
 -f :指定规则文件
 -n :组织输入行输出
 -r :扩展正则
 -i.back :修改文件本身,并备份
 模式:
 s——替换
 g——整行
 d——删除
 sed '2,$d' :删除第2行到最后一行
 sed '1~2d' :删除奇数行
 sed '2~2d' :删除偶数行
 sed '/^$/d' :删除空行
 p——打印
 a——向下追加 # sed '/^bin/a\hello'
 i——向上插入 # sed '/^bin/i\hello'

awk

行处理器,处理庞大文件时,不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息

处理过程:一次对每一行进行处理,然后输出分隔符是空格或tab

语法:awk 参数 模式

awk 参数 'BEGIN{处理前做}{处理内容}END{处理了之后的内容}'

 参数
 FS | -F :输入字段分隔符
 OFS :输出字段分隔符
 NR :记录编号
 FNR :按不同文件分开记录编号
 NF :标识字段数量,相当于行号
 RS :输入记录分隔符 #awk 'BEGIN{RS=" "}{print $0}'
 ORS :输出记录分隔符

常用方式:

 awk '{print NR}' filename     #统计行数
 awk 'END{print NR}' filename #输出总行数

格式化打印:

 printf 

 

此作者没有提供个人介绍
最后更新于 2024-11-09