2017-02-16 24 views
0

私は初心者プログラミングシェルスクリプトですが、今はパス内のディレクトリの最終変更に従ってzipファイルを作成するシェルスクリプトを実行しています。日付がどこにあるか:/bin/find:引数リストが長すぎます

今日= date +%Y-%m-%d

顧客= find /DOMINOAPP/Delta_Transfer/*/* -type d -name "*" -newermt $today | cut -d "/" -f4

私はこのエラーを得た:

./zips.sh: line 8: /bin/find: Argument list too long

誰があなたはこの問題を解決するために私を助けることができるしてください?

答えて

0

(文字列の外側)ワイルドカードので、ここでは、シェルによって展開される/DOMINOAPP/Delta_Transfer/*/*シェルによって拡張最初ある、次いでfindに渡さ。もしそれがたくさんのファイルを含んでいれば、リストは極端に長くなり、そのエラーが出ます。

$ touch a1 a2 a3 
$ echo a* # <-- expansion, = 'echo a1 a2 a3' 
a1 a2 a3 
$ echo "a*" # <-- no expansion, = 'echo a*' 
a* 
:次のコマンドを比較し、より優れたシェルによるワイルドカード展開を理解するために

find /DOMINOAPP/Delta_Transfer -type d -name "*" -newermt $today 

:あなたはそれらのワイルドカードを取り外すことができるように

findはすでに、すべてのサブディレクトリに入ります

関連する問題