Shell常用文本编辑工具(2)

今天看到这样一句话特喜欢:“我最后的祝福是要给那么些人--他们知道我不完美却还爱着我。”真爱一个人,就应该能接受他/她的不完美。哈哈,书归正传!

一、awk

awk是linux中一个强大的文本分析工具,把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行分析处理。

1、基本用法

awk [选项参数] ‘pattern1{action1}  pattern2{action2}...’ filename
pattern:表示AWK在数据中查找的内容,就是匹配模式
action:在找到匹配内容时所执行的一系列命令

2、选项参数说明

选项参数 选项参数
-F 指定输入文件折分隔符
-v 赋值一个用户定义变量

3、案例实操

a、数据准备

将passwd文件复制一份到家目录下

b、搜索passwd文件以root关键字开头的所有行,并输出该行的第7列。

c、搜索passwd文件以root关键字开头的所有行,并输出该行的第1列和第7列,中间以“,”号分割。

d、将passwd文件中的用户id增加数值1并输出。

Shell常用文本编辑工具(2)_第1张图片

4、awk的内置变量

变量 说明
FILENAME 文件名
NR 已读的记录数
NF 浏览记录的域的个数(切割后,列的个数)

5、案例实操

a、统计passwd文件名,每行的行号,每行的列数

b、切割IP

c、查询一个文件中的空行

Shell常用文本编辑工具(2)_第2张图片Shell常用文本编辑工具(2)_第3张图片

二、sort

sort命令在Linux里非常有用,它将文件进行排序,并将排序结果标准输出。

1、基本语法

sort (选项)(参数)

选项 说明
-n 依照数值的大小排序
-r 以相反的顺序来排序
-t 设置排序时所用的分隔字符
-k 指定需要排序的列

参数:指定待排序的文件列表

2、案例实操

a、数据准备

Shell常用文本编辑工具(2)_第4张图片

b、按照“:”分割后的第三列倒序排序。

Shell常用文本编辑工具(2)_第5张图片

你可能感兴趣的:(运维)