タグ

findに関するtama_dのブックマーク (3)

  • 指定した日付以降に更新されたファイルがあるか調べる方法 - ありの日記

    ホームページの移行作業をやることになって、ファイルを移行したのはいいけど切り替え時までにファイルが更新されている可能性がある。そこで、指定した日付移行にファイルが更新されていないか調べる必要がでてきた。ちょと調べたら出てきたのでメモとく。 まず、touchコマンドでファイルの修正時刻を操作できるので、これで「start」っていうファイルを任意の日付で作成しておく。 $ touch -m -d '2009/06/03 00:00:00' /tmp/startこうすると、「/tmp/start」ってファイルが2009/06/03 0:00として作成される。 で、これを元にfindコマンドを実行する $ find /var/www -type f -newer /tmp/startこれだけ。上記の例だと、2009年6月3日の0時以降に修正されたファイルの一覧を出力してくれる。もし修正されているフ

    指定した日付以降に更新されたファイルがあるか調べる方法 - ありの日記
  • findの結果をtarファイルに纏める。xargsは使わないよ。 - 戯言

    結論としては、以下のコマンドを使用します。 find . -name "log*" -print0 | tar -cvz -T - --null -f /tmp/log01.tar.gz 大量ファイルをtar化するときに、よく困るのはコマンド内のワイルドカードを展開した文字列が長すぎて、コマンドラインのバッファがオーバーフローして、コマンドを実行できないというもの。 例えば、 tar cvzf /hoge.tar.gz log* などとしても、ファイル名がlogで始まるファイルが大量にあると、実行できない。list too long みたいなことを言われます。これは、ワイルドカードが展開されると、 tar cvzf /hoge.tar.gz log00001.html log00002.html ・・・・・・ などとなって、コマンド長の制限を超えるためです。 そこで、xargsコマンドを使

  • findコマンドで特定のディレクトリ以下を無視する方法 - mollifier delta blog

    なんかCLIマジック:使って役立つワンライナー入門なんてのがあって気分が盛り上がってきたので、僕もワンライナーっぽいのを書いてみるよ。 困ったこと 例えば、カレントディレクトリ以下にあるファイルの名前を全部見たいとき、素直にfindコマンドを使うとこうなるね。 find . -type fでも出力はこうなる。 ./locale/.svn/entries ./locale/.svn/format ./locale/ja/switch_page_locale.dtd ./locale/ja/.svn/entries ./locale/ja/.svn/format ./locale/ja/.svn/text-base/switch_page_locale.dtd.svn-base ./locale/en-US/switch_page_locale.dtd ./locale/en-US/.svn/

    findコマンドで特定のディレクトリ以下を無視する方法 - mollifier delta blog
  • 1