Linux文本处理常见工具

文件内容查看

查看文本文件内容

cat

cat可以查看文本内容
格式

cat [OPTION]... [FILE]...

常见选项

-E: 显示行结束符$
-A: 显示所有控制符
-n: 对显示出的每一行进行编号
-b: 非空行编号
-s: 压缩连续的空行成一行

在这里插入图片描述
在这里插入图片描述

[root@rocky ~]# cat /data/fc.txt 
a
b
c
[root@rocky ~]# hexdump -C /data/fb.txt
00000000  61 0a 62 0a 63 0a 64 0a  0a                       |a.b.c.d..|
00000009
[root@rocky ~]# cat -A /data/fc.txt 
a^M$
b^M$
c^M$
[root@rocky ~]# file /data/fc.txt 
/data/fc.txt: ASCII text, with CRLF line terminators
[root@rocky ~]# 

在这里插入图片描述
压缩连续的空行
在这里插入图片描述
cat即支持输入又支持输出,如果想临时的创建一个文件的话就可以直接使用cat不必再用vim打开了。
在这里插入图片描述

tac

tac可读键盘输入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

rev

rev也可读取键盘输入
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nl

显示行号,相当于cat -b
在这里插入图片描述

查看非文本文件内容

hexdump

在这里插入图片描述
在这里插入图片描述

od

od即dump files in octal and other formats
在这里插入图片描述

xxd

在这里插入图片描述

分页查看文件内容

more

可以实现分页查看文件,可以配置管道实现输出信息的分页

格式

more [OPTIONS. . .] FILE. . .

选项:

-d: 显示翻页及退出提示

more一旦翻到底就退出了,less则不会。

less

less 也可以实现分页查看文件或STDIN输出,,less命令是man命令使用的分页器。less使用的更多

查看时有用的命令包括:

/文本 搜索 文本
n/N  跳到下一个 或 上一个匹配
PgUP/PgDn 上下翻页
[root@rocky ~]# ls -R /etc/ |less

显示文本前后的行内容

head

可以显示文件或标准输入的前面行

格式:

head [OPTION] ... [FILE]...

选项:

-c num   指定获取前num字节
-n num   指定获取前num行,num如果为负数,表示从文件头取到倒数第num前
-num     同上

在这里插入图片描述
在这里插入图片描述
head也支持标准输入重定向和管道
在这里插入图片描述

tail

tail和head相反,查看文件或标准输入的倒数行

格式:

tail [OPTION].. . [FILE]...

常用选项

-c num   指定获取后num字节
-n num   指定获取后num行,如果num是负数,表示从第num行开始到文件结束-num同上
-f       跟踪显示文件fd(文件描述符)新追加的内容,常用日志监控,相当于--fo1low=descriptor, 
         当文件删除再新建同名文件,将无法继续跟踪文件
-F       跟踪文件名,相当于--fo11ow=name --retry,当文件删除再新建同名文件,将可以继续跟踪文件


tailf    类似 tail -f,当文件不增长时并不访问文件,节约资源, Centos8已经无此工具

在这里插入图片描述
tail -fn0 只监控新日志内容。
在这里插入图片描述

文件描述符

tail -f xxx跟踪的是文件描述符,

如果找到文件描述符

在这里插入图片描述
删除文件后,tail并没有报错,是因为此时f1.txt文件的描述符还在,使用-F选项则是跟踪文件名。
在这里插入图片描述

查看最新日志

[root@rocky ~]# tail -fn0 /var/log/messages
[root@rocky ~]# tail -0f /var/log/messages

范例:找出IP地址的那一行

ifconfig ens160 |head -2|tail -1

在这里插入图片描述

cut–按列抽取文本

cut命令可以提取文本文件或STDIN数据的指定列

格式

cut [OPTION]. .. [FILE]...

常用选项

-d delimiter:  指明分隔符,默认tab
-f fileds:
     num:  第num个字段,例如:3
     num,num[,num]: 离散的多个字段,例如:1,3,6
     num-num: 连续的多个字段,例如:1-6
     混合使用:1-3,7
-c  按字符切割
--output-de1imiter=STRING  指定输出分隔符

按分隔符

在这里插入图片描述
在这里插入图片描述

按字符位置

在这里插入图片描述
打开Xshell显示已复制的字符数设置
在这里插入图片描述
在这里插入图片描述

取网卡ip

在这里插入图片描述

tr–文本转换/删除/压缩

tr(translate)命令是 Linux 中的一个简单但强大的命令行工具,用于替换或删除文本中的字符。它从标准输入读取数据,并将输出结果发送到标准输出。tr 命令特别适合处理字符转换、删除、压缩重复字符等任务。

格式

tr [OPTION]... SET1 [SET2]

SET1:指定要被替换或删除的字符集。
SET2:指定替换字符集(当执行替换操作时)。

常用选项

常用选项
  -d:删除指定的字符集,而不是转换。
  -s:替换连续重复的字符为单一字符。
  -c:对指定字符集的补集进行操作,即对不在集合中的字符进行处理

转换字母大小写

在这里插入图片描述

删除字符串中的数字

在这里插入图片描述

压缩重复字符

在这里插入图片描述

先替换再删除指定字符

在这里插入图片描述

替换

在这里插入图片描述

分析文本的工具

文本数据统计:wc
整理文本:sort
比较文件:diff和patch

wc–统计文本数据

wc命令可用于统计文件的行总数、单词总数、字节总数和字符总数,可以对文件或STDIN中的数据统计。

常用选项

-l  只计数行数
-w  只计数单词总数
-c  只计数字节总数
-m  只计数字符总数
-L  显示文件中最长行的长度

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

去掉df信息的头部注释行

在这里插入图片描述
在这里插入图片描述

sort–文本排序

把整理过的文本显示在stdout,不改变原始文件。默认安装字符顺序排序

格式:

sort [options] file(s)

常用选项

-r  执行反方向(由上至下)整理
-R  随机排序
-n  执行按数字大小整理
-h  人类可读排序,如:2K 1G
-f  选项忽略(fo1d)字符串中的字符大小写
-u  选项(独特,unique),合并重复项,即去重
-t c 选项使用c做为字段界定符
-k num  选项按照使用c字符分隔的num列来整理能够使用多次

在这里插入图片描述
按数字正序排
在这里插入图片描述
按数字倒序排
在这里插入图片描述
在这里插入图片描述

找到磁盘利用率最大的数据

df |tr -s ' ' '%'|cut -d% -f5|sort -nr|head -1

在这里插入图片描述

uniq–去重

uniq命令从输入中删除前后相邻的重复的行
格式:

uniq [OPTION]... [FILE]...

常见选项:

-c: 显示每行重复出现的次数
-d: 仅显示重复过的行
-u: 仅显示不曾重复的行

在这里插入图片描述
显示重复出现的次数
在这里插入图片描述
在这里插入图片描述

统计曰志访问量最多的请求

[root@centos8 ~]#cut -d' ' -f1 access_log |sort |uniq -c| sort -nr | head -3
4870 172.20.116.228
3429 172.20.116.208
2834 172.20.0.222

172.20.116.228的ip访问我的次数太多了4870次,肯定是个恶意请求,我要设置iptables规则,拒绝它的访问。

iptables -AINPUT -s 172.20.116.228

并发连接最多的远程主机IP

[root@centos8 ~]#ss -nt |tail -n+2 |tr -s ' ' : |cut -d: -f6 |sort |uniq -c |sort -nr |head -n2
  7 10.0.0.1
  2 10.0.0.7

取两个文件的相同和不同的行

在这里插入图片描述

比较文件

diff

diff命令比较两个文件之间的区别

-u选项来输出"统一的(unified)"diff格式文件,最适用于补丁文件

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值