linux常见命令(五)

用于文本内容处理的相关命令

  • sort
  • uniq
  • cut
  • comm
  • diff

sort:对文件中数据进行排序,并将结果显示在标准输出上

命令语法:sort [选项] [文件]

选项选项含义
-m如果给定文件已排好序,那么合并文件
-u对排序后认为相同的行只留其中一行
-d按字典顺序排序,比较时仅字母、数字、空格和制表符有意义
-f将小写字母与大写字母同等对待
-r按逆序输出排序结果
-c检查给定文件是否已经排好序,如果他们没有排好序,则打印一个出错信息,并以状态值1退出

例子:将文件cs.log数据排序,并显示在屏幕上

[root@localhost ~]# sort cs.log

读取文件cs.log内容,以倒序排序该文件并显示在屏幕上

[root@localhost ~]# sort -r cs.log

uniq:将重复行从输出文件中删除

命令语法:uniq [选项] [文件]

选项选项含义
-c显示输出中在每行行首加上本行在文件中出现的次数
-d只输出重复的行
-D显示所有重复的行
-u只显示文件不重复的行
-s k比较时跳过钱K个字符,K是数字
-w K对每行第K个字符以后的内容不做对照,K是数字
-f K比较时跳过前K列,K是数字
-i在比较的时候不区分大小写

例子:查看文件cs.log中不重复行数据的内容

[root@localhost ~]# cat cs.log
wewe
wewe
uoij
124
[root@localhost ~]# uniq -u cs.log uoij 124 

cut:从文件每行中显示出选定的字节、字符或字段(域)

命令语法:cut [选项] [文件]

选项选项含义
-b<列表>只选中指定的这些字节
-c<列表>只选中指定的这些字符
-d<分界符>使用指定分解符代替制表符昨晚区域分界
-f<列表>指定文件中设想被定界符(缺省情况下为制表符)隔开的字段的列表
-n取消分割多字节字符。仅和-b选项一起使用。如果字符的最后一个字节落在有-b选项的列表参数指示的范围之内,该字符将被写出;否则改字符将被排除
-s不打印没有包含分界符的行

例子:显示文件/etc/passwd中的用户登录名和用户全称字段,这是第1个和第5个字段,由冒号隔开。

[root@localhost ~]# cut -f 1,5 -d: /etc/passwd
root:root
bin:bin
daemon:daemon
adm:adm lp:lp sync:sync shutdown:shutdown halt:halt mail:mail operator:operator games:games ftp:FTP User nobody:Nobody systemd-network:systemd Network Management dbus:System message bus polkitd:User for polkitd sshd:Privilege-separated SSH postfix: chrony: li: 

comm:逐行比较两个已排过序的文件

命令语法:comm [选项] [文件1] [文件2]

选项选项含义
-1不输出文件1特有的行
-2不输出文件2特有的行
-3不输出文件3特有的行

例子:比较文件file1和file2的文件内容

[root@localhost ~]# cat file1
a
aa
[root@localhost ~]# cat file2
a
bb

[root@localhost ~]# comm file1 file2
		a
aa
	bb
comm: file 2 is not in sorted order 

比较文件file1和file2,只显示文件file1和file2中相同行的数据内容

[root@localhost ~]# comm -12 file1 file2
a
comm: file 2 is not in sorted order 

diff:逐个比较两个文本文件,列出其不同之处

命令语法:diff [选项] [文件1] [文件2]

选项选项含义
-b忽略行尾的空格,二字符串中的一个或多个空格符都视为相等
-c使用上下文输出格式
-r当比较目录时,递归比较任何找到的子目录
-y以两列并排格式输出
-W<n>在并列格式输出时,使用指定的列宽,n代表数字
-u使用通用的输出格式
-i文件内容中忽略大小写差异
-w忽略所有的空白
-a所有的文件都视为文本文件来逐行比较
-B忽略插入删除空行引起的变化
-q只比较简短的输出文件是否不同
-s当两个文件相同时报告
-t在输出时扩展tab为空格,保护输入文件的tab对齐方式
-x<模式>排除匹配模式的文件
-X<文件>比较目录的时候,忽略和目录中与任何包含在指定文件的样式相配的文件和目录

例子:比较file1和file2文件,列出其不同之处

[root@localhost ~]# cat file1
a
aa
[root@localhost ~]# cat file2
a
bb

[root@localhost ~]# diff file1 file2
2c2,3
< aa
---
> bb
> 

摘自:《Linux实用教程》人民邮电出版社出版发行 於岳编著

转载于:https://www.cnblogs.com/mylive/p/11105684.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值