linux sort命令参数及用法详解

linux sort命令参数及用法详解,第1张

Linux sort命令用于将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序。

sort命令的语法格式:sort[参数][文件]

Linux sort命令参数:

-b:忽略每行前面开始出的空格符号。

-c:检查文件是否已经按照顺序排序。

-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

-f:排序时,将小写字母视为大写字母。

-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

-m:将几个排序好的文件进行合并。

-M:将前面三个字母依照月份的缩写进行排序。

-n:依照数值的大小排序。

-u:意味着是唯一的,输出的结果是去完重了的。

-o:<输出文件>将排序后的结果存入指定的文件。

-r:以相反的顺序来排序。

-t:<分隔字符>指定排序时所用的栏位分隔字符。

命令

ls -l | awk '{print $9}' | sort -k1.1nr

1

1.命令所示中先使用ls -l列出所有文件,然后使用awk只取最后一列文件名,最后使用sort进行排序。

2.sort参数-k小数点前面的1表示按结果的第一列排序(这里我们只有文件名一列所以直接是1),小数点后面的1表示从文件名的第一个字符开始排序(假如你文件名是a1,h2,c3,p4,g5,你使用1.2这样就会忽略第一个字符)。

3.sort参数-n表示按照数值大小排序。

4.sort参数-r表示反向排序。

建议你这样试试看:

使用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的缩进。

试试,如果好用,麻烦采纳,谢谢。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8605219.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存