10/01/28 22:42:34
>>904
> それと>>894の-exec +のほうが良いという根拠は何だ?
exec +がある環境ならxargsはレガシーコマンド。webで解説する必要は無い。
そもそも、exec +が無い環境がレガシー。 xargsはジジイの胸の奥にしまっておいてくれ。
906:名無しさん@お腹いっぱい。
10/01/28 22:49:15
GNU findutilsにxargs付いてくるじゃない
907:名無しさん@お腹いっぱい。
10/01/28 22:51:58
ジジイの懐古趣味
908:名無しさん@お腹いっぱい。
10/01/29 01:55:18
xargs がいつobsolete になったの?
なんか文書ある?
909:名無しさん@お腹いっぱい。
10/01/29 12:12:24
-exec + のデメリット
コマンドに渡すファイルの数を制御できない(xargs -n)
並列実行できない(xargs -P)
-exec + のメリット
find でひっかかったファイルが存在しなければコマンドが実行されない
(GNU xargs は入力がゼロでもなぜか1回は実行する; xargs -r で抑制可)
つーか、
ps ax | awk '/なんか条件/{print $1}' | xargs -r kill
みたいに find とは無関係に使う場合も多いから、obsolete のはずがない。
910:名無しさん@お腹いっぱい。
10/01/29 16:58:01
findの-execはひとつひとつ実行するから遅いだろ。
grep /dev/null というバッドノウハウもアレだけど。(-h使えって?)
911:名無しさん@お腹いっぱい。
10/01/29 17:01:35
>>910
find -exec + の 「+」の意味を理解していない方は発言を御遠慮ください
912:名無しさん@お腹いっぱい。
10/01/30 09:34:03
>>910
レガシーちゃんキター
913:名無しさん@お腹いっぱい。
10/01/30 09:38:13
MacのTimeMachineのようなことをするスクリプトを教えて
914:名無しさん@お腹いっぱい。
10/01/30 10:01:33
pdumpfs
Rubyスクリプトだけどな。
915:名無しさん@お腹いっぱい。
10/01/30 20:34:25
> -exec utility [argument ...] {} +
> Same as -exec, except that ``{}'' is replaced with as many path-
> names as possible for each invocation of utility. This behaviour
> is similar to that of xargs(1).
うおっ。-execに+なんて何時からあったんだ。
916:名無しさん@お腹いっぱい。
10/01/30 20:41:41
URLリンク(www.gnu.org)
GNU findutils 4.2ぐらいからか
917:名無しさん@お腹いっぱい。
10/01/30 21:09:21
-exec {} + テンプレに入ってるじゃねえかww
918:名無しさん@お腹いっぱい。
10/01/30 22:00:29
ほんとだ。テンプレにあるな。
>findは -exec command {} + を推奨。
>他に -print0、xargsは -0オプションという方法もあるがSolaris非対応)
まるで -exec + ならば solaris でも使えるように書いてあるが、
実際は使えなかったような記憶が…
919:名無しさん@お腹いっぱい。
10/01/31 02:34:28
>>913
つ URLリンク(wikis.sun.com)
920:名無しさん@お腹いっぱい。
10/01/31 20:50:42
>>918
URLリンク(docs.sun.com)
921:名無しさん@お腹いっぱい。
10/01/31 21:09:07
>>920
そのマニュアル、肝心なところを誤訳してるね。
日本語訳マニュアルは信用してはいけない。
922:名無しさん@お腹いっぱい。
10/01/31 21:19:36
sunでもあるんだな。日本誤訳マニュアル
923:名無しさん@お腹いっぱい。
10/02/01 01:46:35
原語は技術者が書いてても
翻訳は非技術者に丸投げだからね
924:名無しさん@お腹いっぱい。
10/02/02 23:57:42
このスレ参考にファイル数が膨大なディレクトリで
paste -d, <(find $i -type f -exec stat -f '%N,%z' {} +) \
<(find $i -type f -exec md5 {} + | sed -E 's/^MD5 \(.*\) = (.*)/\1/') \
> output.txt
やったら
find: fts_read cannot allocate memory
出ました。Mac OSX
なぜ? find のバグ?
925:名無しさん@お腹いっぱい。
10/02/03 00:03:47
libftsのバグじゃね?