sort命令支持很多参数,常用参数如下:
默认情况下,sort命令,以字母序进行文本排序。如下:
如果想对数字进行排序,可以使用-n参数
sort排序的时候,可以按字段分割的数据进行排序。-t参数表示行的分割字符,-k表示第几列。当然,可以进行降序排序,-r参数可以实现。
下面是对passwd文件,以冒号(:)进行分割,然后对第三列以数字方式进行降序排序。
在du的时候,加上-h可以使用易读性数字,比如2k,1g,3M这种。sort也支持-h参数。
比如,du一个文件夹下的目录大小后,想以文件大小进行排序。由于du -h的结果是3k,2M,1G这种,不能简单的按数字排序。所以,可以使用-h参数。具体如下:
查看系统进程中,内存占用最多的前5个进程信息
如果文件内容有很多重复的,需要进行去重。sort也是支持的,可以通过-u参数使用
在shell中,一般将控制台内容写入文件,可以使用重定向,但如果想把sort的排序内容写回文件,则不能使用重定向。则需要-o参数。具体如下:
建议你这样试试看:
使用python的方式实现。
在你想要到倒序的linux文件夹位置。新建一个py文件(命令 vi reverse.py)
将代码复制上去。然后保存。
# coding=utf-8
import sys
def checkStr(str_source):
return sum(map(lambda check: '/'.count(check), str_source))
def sortByLen(s):
return len(s)
if __name__ == '__main__':
with open(sys.argv[1], 'r') as f:
total_list = f.readlines() # 遍历文件 生成列表
total_list.sort(key=sortByLen, reverse=True)
total_list.sort(key=checkStr, reverse=True)
with open(sys.argv[2], 'w') as b:
for info in total_list:
b.write(info)
if info[-1] != '\n':
b.write('\n')
保存完成后,在本文件夹中 运行
python3 reverse.py 000文件夹绝对路径列表.txt 新的倒序文件夹名字.txt 命令。去查看新的txt文件。就是你想要的倒序文件。
具体效果截图
注意事项:1.确定linux系统中有安装python3 在linux系统执行python3 命令,或者百度 很简单就可以测试. 2.记住复制上去的代码必须要符合python的缩进。
试试,如果好用,麻烦采纳,谢谢。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)