次のエントリ: find で否定条件 [command]
単純な条件付のファイルリスト取得は grep は使わず find のオプションに指定せよ
2005-07-14-2 / カテゴリ: [unix][Solaris][command] / [permlink]
某所にて、こんなコマンドを見た。
Solaris で試したところ、
てーか、grep -v .gz | grep -v "lost+found" って、gzip で圧縮したファイルと、lost+found ディレクトリを除きたいんだろうけど、要件を満たしすぎているぞ>担当者
$ find . -mtime +1 -print |grep -v .gz|grep -v "lost+found"
Solaris で試したところ、
$ find . -mtime +1 ! -name "*.gz" ! -name "lost+found" -printの方が、3倍ほど高速だった。
pts/8:miyazaki@nwmail% time zsh -c 'repeat 100 /usr/bin/find . -mtime +1 -print | grep -v "\.gz" | grep -v "lost+found"' > /dev/null zsh -c > /dev/null 1.11s user 3.15s system 94% cpu 4.522 total pts/8:miyazaki@nwmail% time zsh -c 'repeat 100 /usr/bin/find . -mtime +1 ! -name "*.gz" ! -name "lost+found" -print' > /dev/null zsh -c > /dev/null 0.40s user 1.25s system 95% cpu 1.736 total (ファイル数) pts/8:miyazaki@nwmail% /usr/bin/find . -mtime +1 -print | grep -v "\.gz" | grep -v "lost+found" W -l 34 pts/8:miyazaki@nwmail% /usr/bin/find . -mtime +1 ! -name "*.gz" ! -name "lost+fo und" -print W -l 34 pts/8:miyazaki@nwmail% find . W -l 41
てーか、grep -v .gz | grep -v "lost+found" って、gzip で圧縮したファイルと、lost+found ディレクトリを除きたいんだろうけど、要件を満たしすぎているぞ>担当者
Referrer (Inside):
[2006-02-23-2]
次のエントリ: find で否定条件 [command]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12