4

特定のファイルのサイズが一定よりも小さいかどうかを確認する方法はありますか?私はmakefileのサイズに関することを想定しており、想定が満たされない場合にエラーが発生することを確認したいと思います。アサートのようなものですが、makefileにあります。

if filesize(file) > C then error
else continue compilation
4

3 に答える 3

4

コンパイルの前のどこかで、これをルールに入れてください。

 test -n "$$(find filename -a -size +NNNc)"

ここfilenameで、はファイル名、NNNはオクテット単位のサイズです。これはfalseを返しmake、サイズが。以下になると停止しNNNます。

于 2012-05-20T12:11:13.777 に答える
2

これに対する私のアプローチは、おそらく最もきれいな解決策ではありませんが、それは私にとってはうまくいきました:)

CHECKFILE = \
    if [ ! -f "file" ]; then \
        echo "file does not exist" ; exit 1 ; \
    fi; \
    FSIZE=$$(du -b "file" | cut -f 1) ; \
    if [ $$FSIZE -lt 100000 ]; then \
        echo "filesize too small" ; exit 1 ; \
    fi

all:
    @$(CHECKFILE)
于 2013-06-12T15:22:56.090 に答える
1

私はこれを好みます-256バイトを超える場合は続行し、それ以外の場合はmakeを停止します-読みやすくするために:

test `wc -c <$<` -gt 256;

バックティック内で、ファイル$<はに送られwc -c、サイズはバイト単位で返されます$<。バックティックがのサイズを評価した後、$<は「より大きい」演算子testとともに使用されます。-gt

于 2015-12-21T23:04:43.280 に答える