сортировать файлы размером более 1000 байт в порядке убывания

Я могу сортировать файлы в порядке убывания (любого размера) или перечислить все файлы размером более 1000 байт, но не знаю, как сортировать файлы размером более 1000 байт в указанном вами каталоге.

Список файлов размером более 1000 байт:

for i in "$1/*" # $1 expects a directory name do if [ `wc -c $i` -gt 1000 ] echo $i done 

Список файлов в порядке убывания размера:

 `ls -lhS` 

Но как я могу перечислить все файлы размером более 1000 байтов в порядке убывания размера?

Попробуйте следующее :

 find . -maxdepth 1 -size +1000c -type f -exec ls -lhSa '{}' + 

Объяснение :

-maxdepth 1 – найти файлы только в текущем каталоге

-size +1000c – найти только файлы размером более 1000 байт (« c » = байты)

-type f – найти только файлы

-exec <command> {} + – выполнить команду. См. man find для получения дополнительной информации

Если вы не хотите использовать find (я не знаю почему), вы можете ввести (thx @ αғsnιη ):

 ls -lpSa | awk '! /\// && $5>1000' 

Но почему бы не разобрать?