总体思路:
根据需求先求出每行排序条件的数量,排序,再把数字去掉
1、根据每行字符串长度排序
例:
查询var下的所有内容,并根据每行的长度从小到大排序
find var | while read i; do echo ${#i} $i;done | sort -g | cut -d ' ' -f2
实现的方式不一而足,例如也可用awk统计长度,代码显得更紧凑点
find var | awk '{print length,$0}' | sort -g | cut -d ' ' -f2
2、根据每行的关键字数量排序
例:
查询var下的所有内容,并根据目录的深度逆序排序
find var | while read i; do echo `echo $i|grep -o '/'|wc -l` $i;done | sort -gr | cut -d ' ' -f2