如何按相对路径的字母顺序制作由 md5deep 生成的列表?

Kev*_*ong 6 shell-script text-processing hashsum sort files

如果我想递归地制作一个 md5sum 列表,那么我会使用md5deep,但它开始弹出一些问题,例如它不会按字母顺序生成 md5sum 文件。例如,

$ cd /media/sdcard/DCIM
$ md5deep -rl *
d41d8cd98f00b204e9800998ecf8427e 2014-12-01/IMG_1969.png
c3a9d8cb047192a03b857023948a7ba6 2014-12-01/IMG_1971.png
bd12c358db0c97230b9d48f67b2c0c98 2014-12-01/IMG_1970.png
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题呢?

ter*_*don 5

你可以通过sort

$ md5deep -rl * | sort -k2
d41d8cd98f00b204e9800998ecf8427e 2014-12-01/IMG_1969.png
bd12c358db0c97230b9d48f67b2c0c98 2014-12-01/IMG_1970.png
c3a9d8cb047192a03b857023948a7ba6 2014-12-01/IMG_1971.png
Run Code Online (Sandbox Code Playgroud)

如果您的文件名可以包含换行符或其他奇怪的内容,请改用它(假设为 GNU sort):

$ md5deep -0rl * | sort -zk2 | tr '\0' '\n'
d41d8cd98f00b204e9800998ecf8427e 2014-12-01/IMG_1969.png
bd12c358db0c97230b9d48f67b2c0c98 2014-12-01/IMG_1970.png
c3a9d8cb047192a03b857023948a7ba6 2014-12-01/IMG_1971.png
Run Code Online (Sandbox Code Playgroud)