linux基础之文本管理工具

cat

cat命令可以查看文本内容

格式:
	cat [option]....[file]...
常见选项:
	-E :显示行结束符$
	-A : 显示所有控制符
	-n :对显示得每一行进行编号
	-b:对非空行不进行编号
	-s :压缩连续得空行为一行

范例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

综合案例:
	显示非空行的行号,对连续的空行进行压缩并显示每行的结束符
	[root@192 文本处理测试]# cat -b -s -E ss.txt 

在这里插入图片描述

tac

倒叙显示文本内容(以行为单位进行倒叙显示)【rev 这个命令可以将每行的内容以单词为单位倒叙排列】

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

more

实现对文件的分页显示,可以配合管道实现输出信息分页显示(到文件末尾自动退出)

格式
	more [options..] FILE
选项:
 -d: 显示分页及退信息

less

less 命令也可以实现分页显示文件内容,且功能比more命令更加丰富

回车键:向下翻一行
空格键:向下翻一屏
b :向上翻一页
d :向后翻半页
u :向上翻半页
格式:
	less [option].... FILE
option:
	-N :显示每行行号

head

显示文件的前几行,默认前十行

格式:
	head [option].. feile
option:
	-c # :指定获取前多少个字节
	-n # :指定获取前#行,若#为负数则取文件第一行到倒数#行的内容
	-# : 获取前#行

在这里插入图片描述

tail

功能和tail命令类似,获取文件的末尾多少行

格式:
	tail [option] .. file
选项:
	-f : 实时显示文件新增内容
	-c # :指定获取后多少个字节
	-n# : 指定获取文件末尾#行,若#为负数,则从倒数#开始到文件结束
	-# :同上

cut

用于提取文本数据的指定列

格式:
	cut [option].. [file]..
option:
	# : 第几个字段 。如3 
	-f FILEDS:
	     #: 第#个字段,例如:3
	     #,#[,#]:离散的多个字段,例如:1,3,6
	     #-#:连续的多个字段, 例如:1-6
	     混合使用:1-3,7
-c 按字符切割
--output-delimiter=STRING指定输出分隔符

范例:

以冒号作为分割符,输出/etc/passwd 文件中第1列 3-4列 和第7列
[root@192 ~]# cut -d: -f1,3-4,7 /etc/passwd
获取ifconfig命令输出的本机网卡IP地址
[root@192 ~]# ifconfig |head -n2 |tail -n1|cut -d" " -f10
向/etc/passwd 的第一列,第三列,第七列添加“@@@”作为分割符分割符
[root@192 ~]# cut -d: -f1,3,7 --output-delimiter="@@@" /etc/passwd
用cut命令计算1加到50的结果
[root@192 ~]# echo {1..50} | cut -d' ' -f1-50 --output-delimiter="+" | bc
获取分区利用率并按照分区利用率降序排列
[root@192 ~]# df | tr -s " " | cut -d' ' -f5,6 | tail -n +2| sort -k1 -nr

paste

paste 命令用于合并多个文件同行号内容到一行

	格式:
		paste [option]... FILE
	OPTION:
		-d : 指定分割符,默认以TAB为分割符
		-s :所有行合并成一行显示

范例:

批量修改密码
用户名文件
[root@192 ~]# cat user.txt 
test1
test2
密码文件
[root@192 ~]# cat psss.txt 
qazxsw
qazxsw
合并用户名及密码实现批量修改密码
[root@192 ~]# paste -d: user.txt psss.txt | chpasswd 

文本排序 sort

将整理后的文本输出到stdout ,不改变远来的文件

格式:
	sort [option].. file
常用option:
	-k #: 指定根据那一列排序
	-u : 合并重复项 ,即去重
	-r : 反向整理,既倒叙
	-n : 按行按数字大小整理
	-h : 按人类可读的方式整理 如KB GB
	-f : 忽略字符串中的字符大小写
	-t c : 使用c作为字符界定符

范例:

#获取/usr/目录下所有文件的大小,并以可读方式排序
[root@192 usr]# du -h | sort -k1 -h
#获取访问NGINX的IP数量
[root@192 usr]# cut -d' ' -f1 /var/log/nginx/access.log | sort -u | wc -l

去重 uniq

uniq命令可从输入中删除相邻的相同行

格式:
	uniq [option]...[file]....
选项:
	-c :显示每行重复的次数
	-d : 仅显示重复过的行
	-u : 仅显示不曾重复的行

范例:

#获取访问NGINX 最多的IP并显示访问次数
cut -d' ' -f1 /var/log/nginx/access.log | sort |uniq -c | sort -n| tail -f -n3
#取两个文件得相同和不同
相同
	[root@192 usr]# cat ss.txt test.txt | sort |uniq -d
不同
	[root@192 usr]# cat ss.txt test.txt | sort |uniq -u

练习

#找出ifconfig “网卡名” 命令结果中本机的IPv4地址
[root@192 usr]# ifconfig |tr -s ' '| head -n +2| tail -f -n1|cut -d' ' -f3
#查出分区空间使用率的最大百分比值及分区
[root@192 usr]#df -h | tr -s ' ' % | cut -d% -f5,6|sort -k1 -n | tail -f -n1
#查出用户UID最大值的用户名、UID及shell类型
[root@192 ~]# cat /etc/passwd | sort -k3 -n| cut -d: -f1,3,7| tail -f -n1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雨煮夕阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值