首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unix -按文件名的一部分查找和排序

Unix -按文件名的一部分查找和排序
EN

Stack Overflow用户
提问于 2018-03-09 10:53:35
回答 2查看 347关注 0票数 0

我有这个:

代码语言:javascript
复制
D-T4-0.txt 
A-2.txt 
C-3-1.txt 
B-X1-3.txt 
E-2-4.txt

我希望点菜如下:

代码语言:javascript
复制
D, C, A, B, E

我需要查看每个( .txt) D-0, C-1, A-2, B-3, E-4中的最后一个数字。

有可能吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-09 17:00:10

你可以在这样的管道里这样做:

代码语言:javascript
复制
# List files
ls |

# Include the sorting key in the front as well
sed -E 's/^(.*)([0-9]+)\.txt$/\2\t\1\2.txt/' |

# Sort on the sorting key
sort -n |

# Remove the sorting key
cut -f2-

# Grab the first letter
cut -c1

输出:

代码语言:javascript
复制
D                                                                                                           
C
A
B
E
票数 0
EN

Stack Overflow用户

发布于 2018-03-09 12:58:03

代码语言:javascript
复制
for i in `awk -F- '{print $NF}' file_name |sort`;do grep -- -$i file_name;done
  • 在这里,我使用awk提取最后一个字段,由-和排序分隔。
  • 并在排序行上使用循环对grep进行添加- in前面。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49192127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档