我想按照尺寸对我的脚本作为参数排序。 “-S”代表一个案例,因为它是整个代码的一部分
"-S")
shift
for f in "$@" ; do
if [ -d "$f" ]
then
echo "$f"
fi
done | sort
;;
这是我按名称对参数/目录进行排序的方法,现在是否有按大小排序的解决方案?
Thnx用于阅读/帮助!
答案 0 :(得分:0)
也许:
"-S")
shift
for f in "$@" ; do
if [ -d "$f" ] ; then
echo "$f"
fi
done | xargs ls -Sd ;;
答案 1 :(得分:0)
我同意“mbratch”,ls -S选项按大小排序,您可以使用额外的-r选项进行反转。问题是什么?
如果我不得不使用另一种方法,我不会单独使用排序,我宁愿做这样的事情:
$ find . -size +20 | xargs du -sh | sort -n ## put this in your for - list part
输出:
16K ./.bash_history
16K ./libdata
24K ./.viminfo
24K ./test.sh
28K ./assign_chain/stuff/rpt
52K ./c_prac/t_malloc.exe
52K ./c_prac/wrt.exe
64K ./assign_chain/za_ch.csv
124K ./assign_chain/stuff/b_ch.csv
这有帮助吗?
答案 2 :(得分:0)
也许更明确的变体:
du -ks $(ls -d */)|sort -n|cut -f 2-