入力日より前に作成されたディレクトリのすべてのファイル名を取得します。

入力日より前に作成されたディレクトリのすべてのファイル名を取得します。

多くのファイルを含むディレクトリがあります。コマンドの出力はls次のとおりです。

-rw-r--r-- 1 nobody nogroup    427494 May 26 13:59 14_20150526065238928590_102.txt
-rw-r--r-- 1 nobody nogroup   2113592 May 26 14:00 14_20150526065238928590_105.txt
-rw-r--r-- 1 nobody nogroup    429947 May 26 14:00 14_20150526065238928590_110.txt
-rw-r--r-- 1 nobody nogroup    453831 May 27 14:00 14_20150526065238928590_112.txt
-rw-r--r-- 1 nobody nogroup    551023 May 27 14:01 14_20150526065238928590_118.txt
-rw-r--r-- 1 nobody nogroup     60083 May 27 14:01 14_20150526065238928590_119.txt
-rw-r--r-- 1 nobody nogroup    632324 May 28 03:38 14_20150526065238928590_160.txt
-rw-r--r-- 1 nobody nogroup    735624 May 28 03:38 14_20150526065238928590_161.txt
-rw-r--r-- 1 nobody nogroup   2707507 May 28 03:40 14_20150526065238928590_162.txt

上記のリストから、入力日より前に生成されたファイル名を検索したいと思います。

例:私が入力した日付は20150528で、結果が欲しい:(2015年5月28日より前に作成)

14_20150526065238928590_102.txt
14_20150526065238928590_105.txt
14_20150526065238928590_110.txt
14_20150526065238928590_112.txt
14_20150526065238928590_118.txt
14_20150526065238928590_119.txt

この目標をどのように達成できますか?

ベストアンサー1

現在のディレクトリと2015年5月28日より前に最後に変更されたサブディレクトリ内のすべてのファイルを見つけます。

find . ! -newermt 20150527

現在のディレクトリのファイルのみを希望する場合いいえサブディレクトリの場合は、以下を使用してください。

find . -maxdepth 1 ! -newermt 20150527

どのように動作しますか?

  • find

    これは、ファイルの検索に最も便利なUnixコマンドの1つです。

  • .

    これはfind、現在のディレクトリから検索を開始することを意味します。必要なディレクトリに置き換えることができます。

  • !

    これは論理的ですが、そうではありません。次のテストを逆にします。

  • -newermt 20150527

    2015-05-27以降に修正されたファイルを対象に行われたテストです。上記の理由から、!このテストは逆順でファイルを検索します。いいえ2015-05-27に更新されました。

    気づく」いいえ「2015年5月27日更新」とは、「2015年5月28日より前に作成されました」と同じ意味です。

おすすめ記事