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

linux – 使用regexp进行Bash排序

发布时间:2020-12-13 19:28:33 所属栏目:Linux 来源:网络整理
导读:我有大约100个文件,具有以下语法 ahfsdjfhdfhj_EPI_34_fdsafasdfasdfasdf_EPI_2_fdsfhfdjh_EPI_8_dhfffffffffffffffffffffasdfsdf_EPI_1_fyyy44... 总有EPI_NUMBER.我该如何按这个数字排序? 解决方法 从您的示例中可以看出,分隔符为_,文本EPI_nnn在分隔符_
我有大约100个文件,具有以下语法
ahfsdjfhdfhj_EPI_34_fdsafasdf
asdfasdf_EPI_2_fdsf
hfdjh_EPI_8_dhfffffffffff
ffffffffffasdfsdf_EPI_1_fyyy44

...

总有EPI_NUMBER.我该如何按这个数字排序?

解决方法

从您的示例中可以看出,分隔符为_,文本EPI_nnn在分隔符_后位于相同位置.如果总是如此,那么您可以使用以下命令对文件进行排序:
sort -n -t "_" -k 3 file.txt

更新:

如果EPI_文本的位置未修复,则使用以下shell命令:

sed 's/^(.*EPI_)(.*)$/2##1/' file.txt | sort -n -t "_" -k1 | sed 's/^(.*)##(.*)$/21/'

(编辑:李大同)

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

    推荐文章
      热点阅读