我正在尝试将bash中的变量分配给该目录中'.tar.gz'之前的编号最大的变量,并且我在解决此问题的最佳方法上画了一个完整的空白:
ls /dirname | sort
daily-500-12345.tar.gz
daily-500-12345678.tar.gz
daily-500-987654321.tar.gz
weekly-200-1111111.tar.gz
monthly-100-8675309.tar.gz
sort -Vrt - -k3,3
-V
自然排序-r
反向,因此您可以使用head -1
仅获得第一行-t -
使用连字符作为字段分隔符-k3,3
仅使用第三个字段排序输出:
daily-500-987654321.tar.gz
daily-500-12345678.tar.gz
monthly-100-8675309.tar.gz
weekly-200-1111111.tar.gz
daily-500-12345.tar.gz