ls出力でfindコマンドを使用する方法

ls出力でfindコマンドを使用する方法

次の内容を含むファイル/ディレクトリを表示する次のコマンドがあります。EXEC_EC

注文する:

ls -ltr | grep 'EXEC_EC'

上記のコマンドを使用して:find7日前に生成されたファイルをフィルタリングするコマンドを作成できますか?

名前の付いたファイルを一覧表示し、EXEC_EC7 日より古いファイルを見つけようとします。

サンプル出力

example input: 

dr-xr-xr-x   1 home abc       999 Jun 30 11:12 EXEC_EC_ABC_1
dr-xr-xr-x   1 home abc       999 Jul 25 12:44 EXEC_EC_ABC_2
dr-xr-xr-x   1 home abc       999 Aug  1 22:10 EXEC_EC_ABC_3
dr-xr-xr-x   1 home abc       999 Aug  2 22:20 Number
dr-xr-xr-x   1 home abc       999 Aug  2 22:20 Number2

i am trying to get below output 

EXEC_EC_ABC_1
EXEC_EC_ABC_2

ベストアンサー1

grepとにかく使用する場合、フィルタリングに使用することは意味がありませんfind

find . -mindepth 1 -maxdepth 1 -name '*EXEC_EC*' -mtime +7

デフォルトでは、findサブツリー全体(つまり、すべてのサブディレクトリの内容)が検索されます。-mindepth 1 -maxdepth 1この例は単一のディレクトリ内のコンテンツでのみ機能するため、これが発生しないようにしてください。ディレクトリ引数は無視さ-mindepth 1れますfind(この場合は.必須ではありませんが、一般的な場合)。-maxdepth 1サブディレクトリに降りるのを防ぎます。

おすすめ記事