タイムスタンプ付きのファイルの検索と印刷

タイムスタンプ付きのファイルの検索と印刷

次の検索構文は、10日より古いファイルを印刷します。

find  /var/log/ambari-metrics-collector  -type f -mtime +10 -regex '.*\.log.*[0-9]$' -print
/var/log/ambari-metrics-collector/collector-gc.log-201808130951
/var/log/ambari-metrics-collector/collector-gc.log-201808130403
/var/log/ambari-metrics-collector/gc.log-201808011229
/var/log/ambari-metrics-collector/collector-gc.log-201808011229
/var/log/ambari-metrics-collector/gc.log-201808091332

タイムスタンプがファイルパスの前に来るように、次の例を印刷するには構文に追加する必要があります。

2018 Aug 28 14:20   /var/log/ambari-metrics-collector/collector-gc.log-201808130951
2018 Aug 28 12:12   /var/log/ambari-metrics-collector/collector-gc.log-201808130403
2018 Aug 28 14:32   /var/log/ambari-metrics-collector/gc.log-201808011229
2018 Aug 28 14:32   /var/log/ambari-metrics-collector/collector-gc.log-201808011229
2018 Aug 28 11:22   /var/log/ambari-metrics-collector/gc.log-201808091332

ベストアンサー1

GNUの場合は代わりにfind使用してください。たとえば、次のようになります。-printf format-print

find /var/log/ambari-metrics-collector -type f -mtime +10 -regex '.*\.log.*[0-9]$' -printf '%TY %Tb %Td %TH:%TM %p\n'

最初の文字 - 当時の「タイプ」:

  • %T--時間を変えてください。
  • %C——創造的な時間。
  • %A- 面接時間。

2番目の文字(つまり、時間の「タイプ」の直後)は、表示するstrftime()/のフィールドです。date

-mtime +10超過したファイルを慎重に見つけてください。1110日以外の日(日数で降りた年齢厳しく10より大きい)。

また、たとえば-regex '.*\.log.*[0-9]$'ファイルと一致することに注意してください。より厳しい基準をfoo.login/file.tar.bz2使用することをお勧めします-name '*.log*[0-9]'(まだ一致していますfile.login.tar.bz2)。

おすすめ記事