加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在bash中以数字方式对文件进行排序

发布时间:2020-12-13 16:58:18 所属栏目:Linux 来源:网络整理
导读:我需要以数字方式对.flv文件进行排序,我可以使用以下命令执行此操作: ls *.flv | sort --version-sort -f 但是有很多文件(数百个),它没有正确排序. ls *.flv | sort --version-sort -f | tail -n 20e680.flve681.flve682.flve683.flve684.flve685.flve686
我需要以数字方式对.flv文件进行排序,我可以使用以下命令执行此操作:
ls *.flv | sort --version-sort -f

但是有很多文件(数百个),它没有正确排序.

ls *.flv | sort --version-sort -f | tail -n 20
e680.flv
e681.flv
e682.flv
e683.flv
e684.flv
e685.flv
e686.flv
e687.flv
e688.flv
e689.flv
e690.flv
e691.flv
e692.flv
e693.flv
e694.flv
e695.flv
**e696.flv**
s572.flv
s602.flv
s654.flv

但奇怪的是,如果我在没有“* .flv”的情况下破坏了命令,它就会起作用.
我可以使用ls但我在文件夹中有其他文件类型.

ls | sort --version-sort -f | tail -n 20
e680.flv
e681.flv
e682.flv
e683.flv
e684.flv
e685.flv
e686.flv
e687.flv
e688.flv
e689.flv
e690.flv
e691.flv
e692.flv
e693.flv
e694.flv
e695.flv
e696.flv

到目前为止我尝试过的:

ls | sort --version-sort -f | grep "flv"
    ls *.flv | sort --version-sort -f
    ls *.flv | sort --version-sort -f
    ls *.flv | sort -f

解决方法

我会尝试下面的代码.适用于我的测试场景:
ls -1 *.flv | sort -n -k1.2

ls列出每行的flv文件1,sort从第二个字符(数字的开头)开始,在每一行上获取第一个(也是唯一一个)单词.按数字排序

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读