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

目录

  • 1、排序sort
    • 参数
    • 用法
      • 排序(-n)
      • 从大到小 倒叙(-r)
    • cpu使用占比排序(ps aux --sort -%cpu)
  • 2、截取到某个字符串 cut
  • 3、awk处理文本文件
    • 用法:
    • 打印等于 和不等于

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  排序

linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理_第1张图片

从大到小 倒叙(-r)

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

linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理_第2张图片

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

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

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

2、截取到某个字符串 cut

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

linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理_第3张图片

3、awk处理文本文件

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

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

用法:

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

linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理_第4张图片

打印等于 和不等于

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

linux20day 排序sort 字符处理cut cpu使用占比排序 awk文本数据处理_第5张图片

你可能感兴趣的:(linux的故事,linux,服务器,数据库)