シェルスクリプトを使用して、ユーザーが指定した特定の日付のディレクトリ内のファイル数を見つけます。

シェルスクリプトを使用して、ユーザーが指定した特定の日付のディレクトリ内のファイル数を見つけます。

次のコマンドを使用してこれを実行するとき

find /tmp type -f ls|grep "Any date"|wc -l

*Any date =May 15 or May 5

5月15日には正しい結果が得られますが、5月5日には5月5日より前にlsコマンドに余分なスペースがあるため、何もしません。

スクリプトが両方の値に対して機能するように、これらの間隔の問題を解決するにはどうすればよいですか?

ベストアンサー1

月の後に1を検索してください。以上スペース。例えば

find . -type f -ls | grep -E "May +5"

よりエレガントなアプローチ(そしてlsを解析しないでくださいトラップ)を使用

find . -type f -newermt 2018-05-05 ! -newermt 2018-05-06 | wc -l

おすすめ記事