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