ファイルサイズ別にファイルを移動する

ファイルサイズ別にファイルを移動する

いくつかの入門練習をし、宿題として2つのパラメータを使用する小さなスクリプトを作成する必要があります。最初のパラメータはディレクトリで、2番目のパラメータは数値です。

この機能は、ディレクトリ内のファイルを2つのサブディレクトリに分類することです。最初のサブディレクトリは2番目のパラメータよりも大きいファイル用で、2番目のサブディレクトリはより小さいファイル用です。

私の考えは、ls -lから$ 5を得ることです。しかし、それは良い考えではないようです。誰でも私にアドバイスを与えることができますか?ありがとうございます。

答え1

あなたが言ったように、ls 出力を解析しない

stat -c '%s' fileループで(バイト)を使ってファイルサイズを確認できますfor。まず:

#!/bin/bash

cd "$1"

for file in *; do
    # code/tests here on each "$file"
done

その後利用できますbash 算術ファイルサイズにいくつかの条件を設定します。

これが正しく機能するかどうかを直接テストしてください。コードについて質問がある場合は、いつでも投稿を編集(および/またはコメント)してください。


(コメントから)別の解決策は次のとおりです。-size先生がこのツールについて話したことを覚えている場合は、次のスイッチを使用してください。

find "$1" -size +100

確認する

man find | less +/-size

関連情報