【发布时间】:2013-02-07 14:08:42
【问题描述】:
我是 Unix 新手。我需要一些帮助来对文件名进行排序。我有一个文件列表如下:
FILE10_11_9_1_C.sql
FILE11_11_9_1_P.sql
LE12_11-9-1-P.sql
FILE13_11-9-1-P.sql
FILE14_11_9_1_P.sql
E15_11_9_1_P.sql
FILE16_11_9_1_P.sql
FILE17_11_9_1_U.sql
FILE17_11_9_1_U.sql
FILE5_11_9_1_A.sql
FILE7_PKG_C.sql
FILE8_PKG_CV.sql
Fi1_11_9_1_E.sql
File2_11_9_1_E.sql
File3_11_9_1_C.sql
FILE4_11_9_1_P.sql
我想对它进行数字排序,直到遇到第一个下划线(数字可以在任何位置,而不是在第 5 位)。例如-如下:
File1_11_9_1
File2_11_9_1
.
.
.
File8_Pkg
File10_11_9_1
我正在尝试ls -1|sort -t"_" -k1,4n
但这似乎不起作用。
【问题讨论】:
-
我认为它有效。无论如何,它将 File10 放在 File1、File2 之前...
-
这正是你所需要的:theunixshell.blogspot.com/2013/02/…
标签: shell unix sorting sed awk