サイズが指定された制限より大きいすべてのファイルのパスを表示する方法

サイズが指定された制限より大きいすべてのファイルのパスを表示する方法

サイズが指定された制限(変数として宣言されている)より大きいすべてのファイルのパスを出力する必要があります。

私はfindスクリプトを使ってこれをしました。

FILESIZE = "+10M";
find "$1" -maxlimit 1 -size "$FILESIZE" -type f -exec echo "put {}" \;

2 つのエラーが発生します。

/mnt/d/Lab1_z2.sh: line 1: FILESIZE: command not found

find: unknown predicate `-maxlimit' 

どうやって解決しますか?

ベストアンサー1

最初のエラーは簡単です。

# wrong:
FILESIZE = "+10M";
# correct:
FILESIZE="+10M"

=シェル変数を割り当てるときは、シンボルを囲むためにスペースを使用しないでください。もう一つの質問 - 行の末尾にセミコロンは必要ありません。病気ではありませんが、必要ではありません。

2番目のエラーは実際に恥ずかしいです。このオプションはどこで入手しましたか?-maxlimitにはオプションはありませんfind。可能なすべてのキーとオプションについては、次の手順を実行してman find読んでください。

おすすめ記事