bashを使用してファイルのディレクトリ内に特定の文字列のファイル名が存在するかどうかを確認する必要があります。ファイル名が完全パスとワイルドカードであることを確認するbash
[ -e "/path/to/data/dir/*20171101*" ] && echo true || echo false
私はディレクトリ内find *20171101*
を使用する場合、それはその日付を含むファイルを返します。この例では、私は彼らのファイル名に日付20171101
を含むファイルがあるかどうかを確認します。しかし、フルパスで同じ方法を試すと、binary operator expected
エラーが発生します。これは-eとfindの両方のためです。私は必要なもの
は、ワイルドカードととは、条件が満たされたとき真/偽エコー完全なパスを使用してファイルを検索できるようにすることです。複数のファイルが存在する可能性がありますが、条件を満たすファイルが少なくとも1つ見つかるとtrueを返します。さらに、私はを1行で実行する必要があります。ありがとう!
異なるパス名とワイルドカードでテストしました。魅力のように動作します。ありがとう! – cf2