GNU/Linux >> Linux の 問題 >  >> Debian

Debian –特定の文字列を含むホームディレクトリで過去2分間に最後に変更されたファイルを検索しますか?

過去2分間に変更された、特定の文字列を含むファイルをホームディレクトリで検索しています。このコマンドで試しました:

find -type d -mmin -2 -ls | grep -Ril "mystring"

動作しているように見えますが、2分前に最後に変更された文字列を含むファイルではなく、指定された文字列を含むファイルのみを出力するようです。コマンドの最初の部分が実行されていないようです。

承認された回答:

あなたはあなた自身の提案で良い試みをしました

find -type d -mmin -2 -ls | grep -Ril "mystring"

これにより、ディレクトリが識別されます(-type d )ファイルではなく、過去2分以内に変更されたもの(-type f )。 -lsの出力を配管する grepへ 通常、生成されたファイル名でmystringを検索します。 。ただし、この場合、-R フラグはgrepの動作を変更します また、ファイル名のリストを無視し、代わりに現在のディレクトリ以下のすべてのファイルを検索します。

それでは、問題を2つの部分に分けましょう

  1. ホームディレクトリで過去2分間に最後に変更されたファイルを検索する

    find ~ -type f -mmin -2
    
  2. 特定の文字列を含む[ファイル]

    grep -Fl 'certain String' {files...}
    

今、あなたはそれらをまとめる必要があります。 {} findによって生成されたファイル名のプレースホルダーです 手順1から、末尾の+ {}であることを示します 複数回繰り返すことができます 、つまり複数のファイル名

    find ~ -type f -mmin -2 -exec grep -Fl 'certain String' {} +

grepの変更 echo grepfindによって実行されているものが表示されます 指図;これは便利なデバッグ手法になる可能性があります:

    find ~ -type f -mmin -2 -exec echo grep -Fl 'certain String' {} +

man findの実行を検討してください およびman grep -Fなどのさまざまなオプションを確認する および-l grep -Flで 、そうでなければ、設定した演習から何も学習していません。答えをコピーしているだけです。


Debian
  1. テキスト文字列を含まないすべてのファイルを検索するにはどうすればよいですか?

  2. ファイル内の複数の文字列のGrepを実行し、サイズ順にファイルを一覧表示しますか?

  3. GUIを使用してGnomeでファイルを検索する方法は?

  1. ディレクトリ内の最後の8ファイルのみを別のディレクトリに移動しますか?

  2. ホームディレクトリにある不思議な.directories?

  3. linux:最近変更されたタイプ *.php のファイルを検索します

  1. ディレクトリ内の最後に変更された 5 つのファイルを一覧表示 (ls) するにはどうすればよいですか?

  2. x 文字を超える文字列を含むファイルを検索するには、grep を使用しますか?

  3. 特定の検索文字列を含まないファイルを見つける方法