GNU/Linux >> Linux の 問題 >  >> Linux

IF 条件を使用して、ファイル サイズが 1MB を超えているかどうかを確認します。

find の使用 $filepath の特定のファイル :

if [ -n "$(find "$filepath" -prune -size +1000000c)" ]; then
    printf '%s is strictly larger than 1 MB\n' "$filepath"
fi

これは find を使用します $filepath で特定のファイルを照会する そのサイズのために。サイズが 1000000 バイトを超える場合、find ファイルのパス名を出力します。それ以外の場合は何も生成しません。 -n 文字列の長さがゼロでない場合、test は真です。この場合、find を意味します。 これは、ファイルが 1 MB より大きいことを意味します。

あなたはこれについて質問しませんでした:$dirpath の下で 1 MB より大きいすべての通常のファイルを見つける それぞれの短いメッセージを出力します:

find "$dirpath" -type f -size +1000000c \
    -exec printf '%s is larger than 1 MB\n' {} +

これらのコードは、任意の Unix に移植できるはずです。

< を使用していることにも注意してください または > テストでは、関連する 2 つの文字列が辞書順で特定の方法でソートされるかどうかをテストします。これらの演算子は数値比較を行いません。そのためには、-lt を使用します ("未満")、-le (「以下」)、-gt (「より大きい」)、または -ge (「以上」)、-eq (「等しい」)、または -ne (「等しくない」)。これらの演算子は整数比較を行います。


Linux
  1. ファイルのURLを探す

  2. Bash を使用してファイルを検索してコピーする

  3. 特定のファイルを含むファイルシステムのサイズと空き容量を見つける

  1. Linuxのソケットバッファサイズを見つける方法

  2. ファイル名に次より大きい番号が含まれるファイルを検索

  3. コピー先よりも新しいファイルのみをコピーする

  1. statコマンドを使用してLinuxのファイルステータスを確認します

  2. デフォルトのファイルマネージャを見つける方法は?

  3. Linuxでファイルの物理サイズを取得するには?