bash - 使用 bash 在图形模式下对文件进行排序
问题描述
早上好。
我有以下文件列表:
3,09AgSec02_00 Aqui llega el 3-09.jpg
3,09AgSec02_00.jpg
3,09AgSec02_01.jpg
3,09AgSec02_02.jpg
3,09AgSec02_03.jpg
3,09AgSec02_04.jpg
3,09AgSec02_05.jpg
3,09AgSec02_06.jpg
3,09AgSec02_07.jpg
3,09AgSec02_08.jpg
3,09AgSec02_09.jpg
3,09AgSec02_0010.jpg
3,09AgSec02_11.jpg
3,09AgSec02_12.jpg
3,09AgSec02_13.jpg
3,09AgSec02_14.jpg
3,09AgSec02_15.jpg
在图形模式下,我看到它很好,但如果我执行 ls,我会看到如下
ls -A
3,09AgSec02_00 Aqui llega el 3-09.jpg
3,09AgSec02_00.jpg
**3,09AgSec02_0010.jpg**
3,09AgSec02_01.jpg
3,09AgSec02_02.jpg
3,09AgSec02_03.jpg
3,09AgSec02_04.jpg
3,09AgSec02_05.jpg
3,09AgSec02_06.jpg
3,09AgSec02_07.jpg
3,09AgSec02_08.jpg
3,09AgSec02_09.jpg
3,09AgSec02_11.jpg
3,09AgSec02_12.jpg
3,09AgSec02_13.jpg
3,09AgSec02_14.jpg
3,09AgSec02_15.jpg
并且放置好(即使我有00)我使用以下表格
ls -1v
3,09AgSec02_00.jpg
**'3,09AgSec02_00 Aqui llega el 3-09.jpg'**
3,09AgSec02_01.jpg
3,09AgSec02_02.jpg
3,09AgSec02_03.jpg
3,09AgSec02_04.jpg
3,09AgSec02_05.jpg
3,09AgSec02_06.jpg
3,09AgSec02_07.jpg
3,09AgSec02_08.jpg
3,09AgSec02_09.jpg
*3,09AgSec02_0010.jpg*
3,09AgSec02_11.jpg
3,09AgSec02_12.jpg
3,09AgSec02_13.jpg
3,09AgSec02_14.jpg
3,09AgSec02_15.jpg
所有数字都正确排序,但其中一个给了我一个错误。'3,09AgSec02_00 Aqui llega el 3-09.jpg'
因为在 00 和“00 space [Az]”之后它显示在底部。
可以保留如下吗?在图形模式下会是什么样子
'3,09AgSec02_00 Aqui llega el 3-09.jpg'
3,09AgSec02_00.jpg
3,09AgSec02_01.jpg
3,09AgSec02_02.jpg
3,09AgSec02_03.jpg
3,09AgSec02_04.jpg
3,09AgSec02_05.jpg
3,09AgSec02_06.jpg
3,09AgSec02_07.jpg
3,09AgSec02_08.jpg
3,09AgSec02_09.jpg
3,09AgSec02_0010.jpg
3,09AgSec02_11.jpg
3,09AgSec02_12.jpg
3,09AgSec02_13.jpg
3,09AgSec02_14.jpg
3,09AgSec02_15.jpg
解决方案
您可以通过在同一文件列表上使用( ) 或( ) 将其传递到sort
命令(或保存 +cat
到)来实现结果。它会输出这个:sort
sort -m
sort --merge
sort -z
sort --zero-terminated
3,09AgSec02_00 Aqui llega el 3-09.jpg
3,09AgSec02_00.jpg
3,09AgSec02_01.jpg
3,09AgSec02_02.jpg
3,09AgSec02_03.jpg
3,09AgSec02_04.jpg
3,09AgSec02_05.jpg
3,09AgSec02_06.jpg
3,09AgSec02_07.jpg
3,09AgSec02_08.jpg
3,09AgSec02_09.jpg
3,09AgSec02_0010.jpg
3,09AgSec02_11.jpg
3,09AgSec02_12.jpg
3,09AgSec02_13.jpg
3,09AgSec02_14.jpg
3,09AgSec02_15.jpg
您的输入(作为base64):
echo MywwOUFnU2VjMDJfMDAgQXF1aSBsbGVnYSBlbCAzLTA5LmpwZwozLDA5QWdTZWMwMl8wMC5qcGcKMywwOUFnU2VjMDJfMDEuanBnCjMsMDlBZ1NlYzAyXzAyLmpwZwozLDA5QWdTZWMwMl8wMy5qcGcKMywwOUFnU2VjMDJfMDQuanBnCjMsMDlBZ1NlYzAyXzA1LmpwZwozLDA5QWdTZWMwMl8wNi5qcGcKMywwOUFnU2VjMDJfMDcuanBnCjMsMDlBZ1NlYzAyXzA4LmpwZwozLDA5QWdTZWMwMl8wOS5qcGcKMywwOUFnU2VjMDJfMDAxMC5qcGcKMywwOUFnU2VjMDJfMTEuanBnCjMsMDlBZ1NlYzAyXzEyLmpwZwozLDA5QWdTZWMwMl8xMy5qcGcKMywwOUFnU2VjMDJfMTQuanBnCjMsMDlBZ1NlYzAyXzE1LmpwZwo= |base64 -d | sort -z
在在线 bash shell中尝试过。
推荐阅读
- r - 安装 KODAMA 软件包
- reactjs - 使用 useRef 作为文本框来处理外部点击不起作用 - 反应功能组件
- python - 自定义 QTableWidget 类的内容被缩小到非常小的尺寸
- highcharts - 如何在Highcharts饼图中将十进制值中的分隔点更改为逗号?
- php - 如何使图像单击以更改所有文本颜色?
- flutter - Flutter 安装后的“command not found: pub”
- javascript - 使用键遍历 json
- permissions - 设置由 buildroot 包部署的符号链接的权限
- kotlin - Kotlin 流顺序异步处理
- jms - WebLogic 和 JMS:产生事件但未及时接收(延迟事件)