1
我想按照它们的大小对我的目录中的文件进行排序。目前我已经找到所有具有特定扩展名(例如* .txt)的文件,然后将该列表中的所有值添加到我的未排序数组中。我尝试按大小对我的数组中的所有元素进行排序,但最后一行的“-S”会给我一个错误。Bash脚本按大小排序文件数组
list=$(find . -name "*."$1)
unsortedA=()
for x in $list
do
unsortedA+=($x)
done
sortedA=($(for arr in "${unsortedA[@]}"
do
echo $arr
done | sort -S)) #This Line Here*
编辑:所有这些线可以被替换为:
list=$(ls -S *.$1)
我不使用ls的原因是因为我想从数组中自定义格式打印。无论如何,我可以按阵列大小排序? – CarlinLiu
@ CarlinLiu:基本上没有。请让你的用例更清楚(编辑你的问题。) – rici
感谢您的帮助。我只是将ls设置为一个变量并在for循环中使用它! – CarlinLiu