如何在linux中对以数字命名的子目录进行排序

如何在linux中对以数字命名的子目录进行排序,linux,bash,sorting,Linux,Bash,Sorting,我想对包含以下内容的文件ftog.sh进行排序: cp ./8.17.2/rpalorg.fmb /u01/SCT/testloads cp ./8.17/rpalorg.fmb /u01/SCT/testloads cp ./8.20.0.2/rpalorg.fmb /u01/SCT/testloads cp ./8.20/rpalorg.fmb /u01/SCT/testloads cp ./8.3.1/rpalorg.fmb /u01/SCT/testloads 按此顺序: cp ./8

我想对包含以下内容的文件ftog.sh进行排序:

cp ./8.17.2/rpalorg.fmb /u01/SCT/testloads
cp ./8.17/rpalorg.fmb /u01/SCT/testloads
cp ./8.20.0.2/rpalorg.fmb /u01/SCT/testloads
cp ./8.20/rpalorg.fmb /u01/SCT/testloads
cp ./8.3.1/rpalorg.fmb /u01/SCT/testloads
按此顺序:

cp ./8.3.1/rpalorg.fmb /u01/SCT/testloads
cp ./8.17/rpalorg.fmb /u01/SCT/testloads
cp ./8.17.2/rpalorg.fmb /u01/SCT/testloads
cp ./8.20/rpalorg.fmb /u01/SCT/testloads
cp ./8.20.0.2/rpalorg.fmb /u01/SCT/testloads

如何做到这一点?

您需要对此进行版本排序:

sort -t/ -k2,2V file

cp ./8.3.1/rpalorg.fmb /u01/SCT/testloads
cp ./8.17/rpalorg.fmb /u01/SCT/testloads
cp ./8.17.2/rpalorg.fmb /u01/SCT/testloads
cp ./8.20/rpalorg.fmb /u01/SCT/testloads
cp ./8.20.0.2/rpalorg.fmb /u01/SCT/testloads

此命令应解决以下问题:

ls | sort -g

所有数字都在同一行。尝试以下操作:
sort-n<尚未工作。。我想做的是让8.20.0.2行显示在此列表的最后一行cp./7.12/rpalorg.fmb/u01/SCT/testloads cp./8.10/rpalorg.fmb/u01/SCT/testloads cp./8.11.0.1/rpalorg.fmb/u01/SCT/testloads cp./8.11/rpalorg.fmb/u01/SCT/testloads cp./8.20.0.2/rpalorg.fmb/u01/SCT/testloads cp./8.20/./8.3.1/rpalorg.fmb/u01/SCT/testloads cp./8.5.2/rpalorg.fmb/u01/SCT/testloads cp./8.5/rpalorg.fmb/u01/SCT/testloads cp./8.7.0.2/rpalorg.fmb/u01/SCT/testloads cp./8.7.0.5/rpalorg.fmb/u01/SCT/testloads根据您编辑的问题,检查我的更新答案。sort-t-t-t-t-t/-k2,2V文件工作得像个champ!这应该是最好的答案@jgraton:要使其成为最佳答案,您需要单击此答案左上角的勾号。单击后,它将变为绿色,此接受也将为您提供2个加分。