Command-Line

如何在unix中對文件進行排序

  • January 31, 2019

我有以下方式的文件 ar01440_1775_17_vc00_00.png ar01440_1775_17_vc00_01.png ar01440_1775_17_vc00_02.png ar01440_1775_17_vc00_03.png ar01440_1775_17_vc00_04.png ar01440_1775_17_vc00_05.png ar01440_1775_17_vc00_06.png ar01440_1775_17_vc00_07.png ar01440_1775_17_vc00_08.png ar01440_1775_17_vc00_09.png ar01440_1775_17_vc00_010.png ar01440_1775_17_vc00_011.png ar01440_1775_17_vc00_012.png ar01440_1775_17_vc00_013.png ar01440_1775_17_vc00_014.png ar01440_1775_17_vc00_015.png ar01440_1775_17_vc00_016.png ar01440_1775_17_vc00_017.png ar01440_1775_17_vc00_018.png ar01440_1775_17_vc00_019.png

我需要將它們按此順序排序。

期望的輸出: ar01440_1775_17_vc00_00.png ar01440_1775_17_vc00_01.png ar01440_1775_17_vc00_010.png ar01440_1775_17_vc00_011.png ar01440_1775_17_vc00_012.png ar01440_1775_17_vc00_013.png ar01440_1775_17_vc00_014.png ar01440_1775_17_vc00_015.png ar01440_1775_17_vc00_016.png ar01440_1775_17_vc00_017.png ar01440_1775_17_vc00_018.png ar01440_1775_17_vc00_019.png ar01440_1775_17_vc00_02.png ar01440_1775_17_vc00_03.png ar01440_1775_17_vc00_04.png ar01440_1775_17_vc00_05.png ar01440_1775_17_vc00_06.png ar01440_1775_17_vc00_07.png ar01440_1775_17_vc00_08.png ar01440_1775_17_vc00_09.png

使用“en_US.UTF-8”語言環境導致排序時“010”出現在“01”之前。強制C排序的語言環境在這里工作:

$ LC_ALL=C ls -1
ar01440_1775_17_vc00_00.png
ar01440_1775_17_vc00_01.png
ar01440_1775_17_vc00_010.png
ar01440_1775_17_vc00_011.png
ar01440_1775_17_vc00_012.png
ar01440_1775_17_vc00_013.png
ar01440_1775_17_vc00_014.png
ar01440_1775_17_vc00_015.png
ar01440_1775_17_vc00_016.png
ar01440_1775_17_vc00_017.png
ar01440_1775_17_vc00_018.png
ar01440_1775_17_vc00_019.png
ar01440_1775_17_vc00_02.png
ar01440_1775_17_vc00_03.png
ar01440_1775_17_vc00_04.png
ar01440_1775_17_vc00_05.png
ar01440_1775_17_vc00_06.png
ar01440_1775_17_vc00_07.png
ar01440_1775_17_vc00_08.png
ar01440_1775_17_vc00_09.png

C此處解釋了語言環境:“ LC_ALL=C”做什麼?

引用自:https://unix.stackexchange.com/questions/497936