6日以上前のファイルを削除
find /mnt/extdisk -maxdepth 1 -regex '.*\.tar.gz' -ctime +6 -exec rm -f {} \;
こっちのほうがいいかも
find . -type f -mtime -30 |xargs rm
確認してコピーしておく
find . -type f -mtime -30 |xargs -iX cp --parents -rp X ~/tmp
参照ページ:http://d.hatena.ne.jp/mrgoofy33/20100823/1282576209
findで特定のディレクトリを検索対象外(除外)にする
コマンド, unix, linux
複数ディレクトリをfindで検索する場合、特定のディレクトリを検索対象外にする方法です。
findコマンドの「-prune」と「-o (-or)」オプションの組み合わせで実現することができました。
UNIXの部屋 コマンド検索: find より
-prune
それ以上ディレクトリを降りない。特定のディレクトリ以下を除外する場合に有用。
-o または -or
検索条件を OR で結ぶ。
% find . -name abc -or -type d
⇒ abc という名前のファイル・ディレクトリか、あるいはディレクトリを検索
例)1つのディレクトリを対象外として、ファイルを検索する
「-path "./foo" -prune」で「./foo」以下については、それ以上ディレクトリを降りない指定をします。
これだけだと、「./foo」しか見つからない形になってしまうので、「-o」で追加の検索条件を指定します。
この例では「-type f -name "*.html"」でhtmlファイルを探すようにしています。
サンプル)ディレクトリ構造
(root)
├─ index.html
│
├─bar
│└─ bar.html
│
└─foo
└─ foo.html
サンプル)findコマンド
$ find . -path "./foo" -prune -o -type f -name "*.html"
./bar/bar.html
./foo
./index.html
→「./foo/foo.html」はヒットしない。
例)2つ以上ディレクトリを対象外として、ファイルを検索する
上記と同じような形で、2つ以上ディレクトリを対象外としたい場合、「-o」オプションで条件を追加することで可能です。
※例コマンドの検索対象ディレクトリは上記と同じです。
サンプル)findコマンド
$ find . -path "./foo" -prune -o -path "./bar" -prune -o -type f -name "*.html"
./bar
./foo
./index.html
→「./bar/bar.html」「./foo/foo.html」はヒットしない。
補足)-prune について
「-prune」はディレクトリ以外(ファイル)にも使用出来るみたいですが、これはあまり意味がないようです。
(他のコマンドで代用可能であるため。)
UNIXの部屋 コマンド検索: find より
実際は -prune はディレクトリ以外にも効果があるので、
% find . -name "*.txt" -prune -o -print
⇒ *.txt というファイルを除外する。
という使い方もできるが、これは
% find . ! -name "*.txt"
と同じである。
|
Apache 2.0とTomcat 5.0の連携
dnotifyを利用する場合
SQLのテクニックを記
Oracleのテクニックを記
VARCHAR2をNUMBERに変換する際、桁数で怒られるときに桁数を無視するfunction
tracの設定メモ
inotifyを利用する場合
監視サーバーの設
SSLキー作
監視サーバーの設
|