たとえば、私は次のように入力します。
ls -altr | grep "23 Dec"
したがって、12月23日のファイルのみが表示され、次のようにgrepを使用したいと思います。
ls -altr | grep "23 Dec" | xargs grep -l "some_string"
しかし、これはうまくいきません)
どうすればいいですか?
答え1
好きな方法で使用するには、次のことを試してください。
ls -altr | grep "23 Dec" | awk '{print $9}' | xargs -i grep -l "some_string" {}
それともfind
そうします:
find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -exec grep -l "some_string" {} \;
findコマンドでセミコロンを避けることを忘れないでください。また、 find はxargs
-exec オプションで使用する場合とほぼ同じ方法で動作します。
答え2
特定の日付に変更された特定のファイルを見つけたい場合は、
パイプは必要ありません。 (lsはデフォルトで修正時間を使用します.)
find . -type f -newermt 2012-12-23 ! -newermt 2012-12-24 -iname '*some_string*'