linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理

发布时间:2023年12月19日

1、排序sort

经常用于排序

参数

-u: 去除重复行
-r: 降序排列,默认是升序
-o: 将排序结果输出到文件中,类似重定向符号
-n: 以数字排序,默认按字符排序
-t; 分隔符
-k: 第N列
-b: 忽略前导空格
-R: 随机排序,每次运行的结果均不同

用法

排序(-n)

使用sort 对文件夹/etc/passwd 中的uid 进行排序(从小到大)

sort -t: -k3 -n /etc/passwd
-t: 指定分隔符
-k3 指定分割后的第几列
-n  排序

在这里插入图片描述

从大到小 倒叙(-r)

sort -t: -k3 -n /etc/passwd

在这里插入图片描述

cpu使用占比排序(ps aux --sort -%cpu)

这个命令用于查看,哪个进程使用的cpu占比比较大
查看cpu使用占比最大的 前二十个

ps aux --sort -%cpu | head -20

2、截取到某个字符串 cut

cut -d: -f3  /etc/passwd
-d: 指定分隔符
-f3 筛选第三列

在这里插入图片描述

3、awk处理文本文件

常用参数:
默认分割符号是 空格

-F:指定字段分隔符。
-v:定义一个变量并将其传递给awk脚本。
-f:从外部文件读取awk脚本。
NR:表示行号。
NF:表示字段数量。
BEGIN:在处理输入之前执行的操作。
END:在处理输入之后执行的操作。
以下是一个示例,假设我们有一个以逗号分隔的数据文件,其中包含学生姓名和分数,在这个示例中,我们想要计算每个学生的平均分:

用法:

awk -F ":" '{print $1}' /etc/passwd
-F  ":"  指定分隔符号 为 :
'{print $1}' 打印第一列

在这里插入图片描述

打印等于 和不等于

#等于
awk '{if($0=="/bin/bash") print $0}' /etc/shells
#不等于
awk '{if($0!=="/bin/bash") print $0}' /etc/shells

在这里插入图片描述

文章来源:https://blog.csdn.net/2301_79996063/article/details/135024132
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。