ファイルを任意のサイズの降順で並べ替えることができ、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 +1000c
c
- 1000バイト(" "=バイト)より大きいファイルのみを検索します。
-type f
- ファイルのみ検索
-exec <command> {} +
- コマンドを実行します。man find
詳しくはこちらをご覧ください
使いたくないなら find
(理由はわかりません) 以下を入力してもいいです(ありがとうございます)@αGsнιι):
ls -lpSa | awk '! /\// && $5>1000'
しかし、なぜいいえ分析ls
?