1000バイトを超えるファイルを降順に並べ替える

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バイトを超えるすべてのファイルをサイズ順にリストする方法は?

答え1

この試み:

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

説明する:

-maxdepth 1- 現在のディレクトリでのみファイルを探す

-size +1000cc- 1000バイト(" "=バイト)より大きいファイルのみを検索します。

-type f- ファイルのみ検索

-exec <command> {} +- コマンドを実行します。man find詳しくはこちらをご覧ください

使いたくないなら find(理由はわかりません) 以下を入力してもいいです(ありがとうございます)@αGsнιι):

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

しかし、なぜいいえ分析ls

関連情報