对具有特定订单

时间:2016-03-17 13:19:50

标签: bash ls

我有像

这样的文件
file_fooX_barY_tests.txt

我怎样才能在循环后首先在增量中列出它们&f; foo'然后查看' bar'之后的数字。 ?即

file_foo100_bar1_test.txt
file_foo100_bar100_test.txt
file_foo100_bar150_test.txt
file_foo200_bar1_test.txt
file_foo200_bar100_test.txt
file_foo200_bar250_test.txt

执行标准ls,列表例如

file_foo100_bar100_test.txt
file_foo100_bar150_test.txt
file_foo100_bar1_test.txt

所以,' bar100'和' bar150'来吧' bar1'

感谢

1 个答案:

答案 0 :(得分:2)

我认为sort -V只会做到这一点。它旨在按"版本顺序排序"。

  

示例:

$ echo """file_foo100_bar150_test.txt
file_foo100_bar1_test.txt
file_foo200_bar250_test.txt
file_foo200_bar100_test.txt
file_foo200_bar1_test.txt
file_foo100_bar100_test.txt
""" | sort -V

file_foo100_bar1_test.txt
file_foo100_bar100_test.txt
file_foo100_bar150_test.txt
file_foo200_bar1_test.txt
file_foo200_bar100_test.txt
file_foo200_bar250_test.txt