我有一个文件列表(从 管道传输ls
)。理想情况下,我希望它看起来像这样:
THISPARTISALWAYSTHESAME200_1.JPG
THISPARTISALWAYSTHESAME200_2.JPG
THISPARTISALWAYSTHESAME200_3.JPG
[...]
THISPARTISALWAYSTHESAME200_9.JPG
THISPARTISALWAYSTHESAME200_9_1.JPG
THISPARTISALWAYSTHESAME200_9_2.JPG
[...]
THISPARTISALWAYSTHESAME200_9_10.JPG
THISPARTISALWAYSTHESAME200_9_11.JPG
[...]
THISPARTISALWAYSTHESAME200_9_47.JPG
THISPARTISALWAYSTHESAME200_9_48.JPG
THISPARTISALWAYSTHESAME200_9_49.JPG
THISPARTISALWAYSTHESAME200Map_001.JPG
THISPARTISALWAYSTHESAME200Map_002.JPG
我正在将此列表传送到 ImageMagickconvert
函数中以将其转换为 PDF,因此最好按正确的顺序排列文件,如上所述。但是,ls
没有自然排序,导致 1-10-11-12-2-20 乱七八糟;ls -v
自然地对它们进行排序,但将 Maps 放在开头,并且我发现的各种awk
功能sort
无法处理 Map 位并造成更有趣的混乱。
我认为获取输出ls -v
并使用 awk 将包含字符串 'map' 的每一行移动到末尾可能并不难,但我不知道该怎么做。