shell编程——字符处理命令

1.排序命令sort

sort [选项] 文件名
选项:
	-f:忽略大小写
	-b:忽略每行前面的空白部分
	-n:以数值型进行排序,默认使用字符串型排序
	-r:反向排序
	-u:删除重复行,就是uniq命令
	-t:指定分隔符,默认分隔符是制表符
	-k n[,m]:按照指定的字段范围排序,从第n个字段开始,m字段结束(默认到行尾)

sort命令默认是用每行开头第一个字符来进行排序的:

sort /etc/passwd

在这里插入图片描述
如果想要反向排序,请使用“-r”选项:

sort -r /etc/passwd

如果想要指定排序的字段,需要使用“-t”选项指定分隔符,并使用“-k”选项指定字段号。加入我们想按照UID字段排序/etc/passwd文件:

sort -t ":" -k 3,3 /etc/passwd
# 指定分隔符是“:”
# 用第三字段开头,第三字段结尾排序,就是只用第三字段排序

在这里插入图片描述
我们发现,UID113出现在UID12的前面,这是为什么?因为在排序的时候是把UID当做字符串而不是整数,所以先按照字符串第一个字符排序,再接着向后排,所以造成这样的问题。如果想按照数字排序,使用“-n”选项:

sort -n -t ":" -k 3,3 /etc/passwd

在这里插入图片描述
当然“-k”选项可以直接使用“-k 3”,代表从第三字段到行尾都排序(第一个字符先排序,如果一致,第二个字符再排序,直到行尾)

2.uniq

uniq命令是用来取消重复的命令,其实和“sort -u”选项是一样的

uniq [选项] 文件名
选项:
	-i:忽略大小写

3.统计命令wc

wc [选项] 文件名
选项:
	-l:只统计行数
	-w:只统计单词数
	-m:只统计字符数

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值