sns电商网站,做网站策划需要什么技能,在线文字生成图片,新冠数据实时更新这个有点难 O.o
一、awk
# 语法
awk 参数 模式 {动作} 文件# 第一列#xff0c;包含p的
$1~p
# 第一列#xff0c;不包含p的
$1!~p
# 开始时干嘛#xff0c;结束时干嘛
awk BEGIN{开始时做的事}END{结束时做的事}{print $0} 文件
1、内置变量包含p的
$1~p
# 第一列不包含p的
$1!~p
# 开始时干嘛结束时干嘛
awk BEGIN{开始时做的事}END{结束时做的事}{print $0} 文件
1、内置变量常用的
FS # 指定分割符
NF # 分了多少列
NR # 行数
$0 # 全部列
$n # 指定列
OFS # 指定输出分隔符
2、小案例
# 显示文件第2行的内容
awk NR2{ print NR,$0} 文件
# 显示文件第2~4行的内容且显示行号
awk NR2,NR4 {print NR,$0} 文件
# 显示文件第3行的第1列和最后两列
awk NR3{print $1,$NF-1,$NF} 文件
# 显示名字以 j 开头的姓名、性别带表头信息并用制表位分割信息 $1~/^j/
awk BEGIN{print 姓名以j开头的信息如下} $1~/^j/ {printf %s\t%.2f\t%.2f\n,$1,$3,$4 } 文件
%s 字符串
%.2f 保留2位小数
3、有点小强度
# 查看 3-5 行以 - 作为分隔符的第3和最后一列显示行号
awk -F - NR3,NR5 {print NR,$3,$NF} 文件
# printf 指定格式
awk {printf $1\t$2\n} 文件
# 用 作为分隔符
awk -F : {print $1,$3} 文件
# 用 -- 作为输出分隔符
awk BEGIN{OFS--}{print $1,$NF} 文件
# 查找数字后二位小数
awk {printf 姓名%s\t性别%c\t\t分数%2.f\n,$1,$2,$3} 文件
# 在开始是打印------结束是
awk BEGIN{print ---}END{print }{print $0} 文件
# 显示1-3行指第一行倒数第二行倒数第1行
awk NR1,NF3{printf %s\t%.2f\t%.2f\n,$1,$(NF-1),$NF} info2.txt
# 求某一列的平均值
awk BEGIN{sum0 }{sum$3} END{printf %.2f,sum/NR } 文件
# 某一列的和
awk BEGIN{sum0}{sum$3}END{print sum}
# 求某一列的最大值
awk BEGIN{max0}{if ($3max) (max$3)}END{print max}
# 查找ip地址
ifconfig ens33 | awk NR2{print $2}
# 显示成一下图片那样
awk -F : BEGIN{print 用户名 uid 登入shell} OFS\t{print $1,$3,$NF} /etc/passwd # 把一些数据写入文本进行练习
tom M 99 98.5 95
peter M 100 87 95.5
marry F 98 85 94.5
jerry M 99 75.5 87
john M 80 76 84
rose F 87 69 96
二、简单小工具
1、sort 排序
-f 忽略大小写
-t 指定分隔符
-nk 2 第二列数升序
-r 反向排序
-u 去重
# 字母顺序排序
sort 文本
# 指定分隔符 降序排序第三列
sort -t : -rnk 3 /etc/passwd
# 升序排序
sort -t : -nk 3 /etc/passwd
2、unqi
uniq 去掉连续相同的行进行去重
-c 显示重复的次数
-u 显示仅出现1次的一般配合sort,先排序在去重
sort 文件 | uniq