sort命令中V选项的用法是什么

sort命令中V选项的用法是什么

有命令ls -1 | grep war | sort -V | tail -n1来排序和列出 war 文件名,例如abc-1.4.3.12.war

sort 命令中的 V 选项有什么用?

答案1

https://www.gnu.org/software/coreutils/manual/html_node/sort-inspiration.html

'-V'
'--版本排序'

按版本名称和编号排序。它的行为类似于标准排序,不同之处在于每个十进制数字序列在数字上都被视为索引/版本号。 (看有关版本排序的详细信息.)

例子:

标准排序:

$ printf '%s\n' abc-1.4.3.12.war abc-12.1.war abc-1.11.war | sort
abc-1.11.war
abc-12.1.war
abc-1.4.3.12.war

按版本排序:

$ printf '%s\n' abc-1.4.3.12.war abc-12.1.war abc-1.11.war | sort -V
abc-1.4.3.12.war
abc-1.11.war
abc-12.1.war

但您也可以使用-v中的选项ls,无需使用grepsort,这里

$ touch abc-1.4.3.12.war abc-12.1.war abc-1.11.war
$ ls -1 *war
abc-1.11.war
abc-12.1.war
abc-1.4.3.12.war
$ ls -1v *war
abc-1.4.3.12.war
abc-1.11.war
abc-12.1.war

答案2

男人排序说

   -V, --version-sort
          natural sort of (version) numbers within text

https://stackoverflow.com/questions/4493205/unix-sort-of-version-numbers

相关内容