[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 04/21 15:11 / Filesize : 233 KB / Number-of Response : 926
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

シェルスクリプト総合 その15



1 名前:名無しさん@お腹いっぱい。 [2009/07/01(水) 09:42:48 ]
シェルスクリプトの総合スレです。
スクリプトのお勉強・自慢・腕試しなどにどうぞ。
まずは注意点、リンク、地鎮祭など(>>1-6くらい)をご覧ください。

□お約束
・特記なき場合はBourne Shell(/bin/sh)がデフォルトです。
 bash/zsh/ksh/ashなどに依存する場合は明示しましょう。
 Linuxユーザは/bin/shの正体がbashなので特に注意。
 FreeBSDユーザは/bin/shの正体がashなので注意。
 v7 shに一番近くて、現役のshは、OpenSolaris由来のheirloom sh。
  src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sh/
  heirloom.sourceforge.net/sh.html
・csh/tcshのシェルスクリプトは推奨されません。
 (理由は「csh-whynot」でググれ)
・UNIXにはシェルスクリプトに便利な小さなコマンドがいろいろあります。
 manや参考リンクを見ましょう。
 aproposないしはman -kでそれらしい単語による簡単な検索もできます。
・シェルスクリプトのことをシェルってゆーな
・シェルで使えるワイルドカード等は正規表現ではありません。
 正規表現の話題はスレ違い(正規表現スレへ)

□初心者へのアドバイス:
・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 RubyやPerlの方が適した仕事には素直にそちらを使いましょう。
・知らないコマンドが出てきたらmanを引きましょう。
・思い通りに動かないときは、まずは sh -x でトレースしましょう。

前スレ
シェルスクリプト総合 その14
pc12.2ch.net/test/read.cgi/unix/1233179688/

824 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 04:14:23 ]
時代は UTF-8 ですよ

825 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 04:16:28 ]
いまどきの機種依存文字といえば「〜」かな

826 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 08:28:32 ]
>>825
誰もがWindows-31JとShift_JISの区別を付けるようになれば
片が付くのにね……


827 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 09:05:59 ]
うちのMacちゃんでは2chのカキコのローマ数字が化けるざんす。

828 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 09:44:45 ]
この板の住人ならOSは関係ないってことくらい分かるだろ
MacJapaneseの代わりにWindows-31Jで処理するようなライブラリ使って
FirefoxでもChromiumでも何でもビルドすればいいだけ

829 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 21:53:24 ]
半角カナは使ってもいいと思う

830 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 23:02:10 ]
>>828
じゃあsafariをビルドする方法を教えてください。

831 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/14(木) 23:41:43 ]
フィルタリングプロキシを立てて
Windows_31JくさいShift_JISなページをUTF-8に変換してやるのが楽じゃないかな

832 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/15(金) 00:12:46 ]
それはクライアント側でフォントいじれよっていうのと等価では?



833 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/15(金) 00:29:34 ]
丸数字使うな。カス。と言う方が楽だしecoだな。

834 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/15(金) 01:08:33 ]
エコロジストならスレ違いネタでスレを消費しないでくれ

835 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/16(土) 01:23:40 ]
bashでif〜とする時、[ と [[ ができますが
[ は 外部のtestコマンドで、[[が内部コマンドなんですよね?

[ ではなく [[ を使った方が
速度が速いのでしょうか?


836 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/16(土) 01:50:26 ]
bash の [ と test は builtin。[[ は compound command。
[[、[、外部コマンドの test の順に速い。
外部コマンドを呼んだ場合がダントツで遅くて、他の50倍ぐらい遅い。[[ と [ は大して変わらん。

837 名前:835 mailto:sage [2010/01/16(土) 02:16:10 ]
お答えありがとう。


838 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/16(土) 12:01:06 ]
>>834
富豪プログラマのスレです。

839 名前:名無しさん@お腹いっぱい。 [2010/01/26(火) 12:21:42 ]
●やりたいこと
カレントディレクトリ以下の全ファイル(レギュラーファイル,かなり大量,何百万単位)を
検索し,ファイル名,ファイルサイズ,MD5ハッシュ値を出力したい。
1ファイルにつき1行。

※効率よくやりたいのでファイルの数ごとにstatやmd5プロセスを起動する,という
ことは避けたい。

●やったこと
ファイルサイズだけ,とかMD5だけなら下記の方法で満足な早さで出力が得られます。
環境はMac OS Xです。
find . -type f | xargs stat -f '%N,%z' > outputfile.txt
find . -type f | xargs md5 $1 | sed -E 's/^MD5 \((.*)\) = (.*)/\1,\2/' > outputfile.txt

上の二つを合わせたようなことをしたいのですが,うまい方法を教えて下さい。



840 名前:名無しさん@お腹いっぱい。 [2010/01/26(火) 12:24:01 ]
補足
各行が
ファイル名,ファイルサイズ,MD5ハッシュ値
という出力にしたいです。


841 名前:名無しさん@お腹いっぱい。 [2010/01/26(火) 12:27:06 ]
コピペミスです。>>839の2つ目のfindは正しくは
find . -type f | xargs md5 | sed -E 's/^MD5 \((.*)\) = (.*)/\1,\2/' > outputfile.txt
でした。

842 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 12:49:51 ]
perlかpythonかrubyで書きなよ。



843 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 12:52:31 ]
●解答
joinすればいいだけ。

●補足
箇条書での質問は失礼

844 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 13:01:19 ]
●傍観者の感想
ワロタ

845 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 13:31:04 ]
pasteというコマンドがあってだな。



846 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 14:55:29 ]
sed が起動するのは気にならないのかw

847 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 15:05:51 ]
>>846
そりゃ、sedは1回しか起動しないし

848 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 16:46:34 ]
次スレのテンプレに↓入れとけよ

●解答
perlかpythonかrubyで書きなよ。

849 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 16:50:45 ]
>>848
>>1

・適した道具を判断するのも頭の重要な使い方。シェルスクリプトよりも
 RubyやPerlの方が適した仕事には素直にそちらを使いましょう。

Pythonも入れればよいわけだな。


850 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 16:52:39 ]
で、今回の質問の場合 perlもpythonもruby関係なくて、
joinかpasteで済む問題だったわけだが、、

851 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 17:03:54 ]
join, pasteは中間ファイルを作るわけだが、数百万ファイルになるとかなりのオーバーヘッドになる。
実行時間はファイルIOが支配的なのでインタプリタが消費するCPUは隠される。

従ってLLでの実装を勧めたわけだが、初心者にはわからないらしい。覚えておく事だ。

852 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 17:35:37 ]
>>851
中間ファイルを作らずにnamed pipeでやる方法を知らない初心者らしい、、



853 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 18:31:25 ]
この件では I/O にかかる時間でいちばん支配的なのは
find, md5, stat,(+ join を使う場合は sort)であって、
中間ファイルを使うことによるオーバーヘッドなんぞ誤差にしかならんよ。


854 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 18:34:04 ]
中間ファイルって、MS-DOSじゃないんだから・・・

855 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 18:40:42 ]
find × 2 → named pipe → paste

で、中間ファイルなしでメデタシメデタシ

856 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 19:28:25 ]
一部のシェルの
diff <(command) <(command2)
みたいなのは中間ファイル作るのかしらん?


857 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 19:30:24 ]
>>856
だから、それが named pipeなんだよw

858 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 19:31:07 ]
mknod で作らなくてもいいのかー


859 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 22:34:39 ]
findは全てのファイルにstatかけるのを知らない初心者? w

860 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 22:37:15 ]
っつーか >>839>>842 をそれぞれ時間計測して比べりゃすむ話だろ
漏れは後者の勝ちだと思う


861 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 22:38:26 ]
>>854-855
パイプのIOは発生するだろ。バカ。

862 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/26(火) 22:38:31 ]
漏れww



863 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 00:35:27 ]
2ch初心者発見。

漏れ、とかで煽られても、、、
半年ROMってれば。

864 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 00:52:28 ]
2ch上級者(;´Д`)

865 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 01:11:09 ]
今時漏れなんて使わねぇよw

866 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 06:54:47 ]
>>839 自身、find×2 を個別に実行した状態で
「満足な早さで出力が得られます」
と言っているのだから、それがすべて。
問題はそこじゃなくて、2つの出力を効率良くまとめる方法が質問点。
で、そのベストアンサーはpaste。

867 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 11:51:49 ]
自演乙

868 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 12:54:46 ]
>>866
負け犬の何とか…

869 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:17:04 ]
>>859
ここではstatは問題にならないんだよ、初心者クン

>>860
>後者の勝ちだと思う
「思う」だけじゃ間違ったことでも言えてしまうねw

>>861
パイプのI/Oでは物理I/Oは発生しないんだよ、初心者クン

870 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:26:19 ]
>>869
前言撤回? w

871 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:28:37 ]
>>870
良く良め。869 は 「named pipe+paste の方が速い」という主張を一貫してしてるぞ

872 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:40:18 ]
(1)シェルスクリプトでの多少高度な質問がなされる

(2)「それはPerlかPythonかRuby使った方が速い」と誰かが投稿

(3)別の人からシェルスクリプトでのマトモな回答が投稿される

(4)質問者、傍観者とも納得

(5) (2)が発狂 ← 今ココ



873 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:50:58 ]
>>871 アルツハイマー?

>>853
> find, md5, stat,(+ join を使う場合は sort)であって、

874 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:53:01 ]
>>869>>853 じゃないよ。

875 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 13:57:01 ]
>>853 が言ってる statは、xargsから起動されるstatコマンドのことであって、
find内部のstatのことじゃないだろ。

876 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 14:22:00 ]
LL:
ディレクトリ読み込み 1回
stat(i-node読み込み) ファイル個数
MD5 ファイル個数
出力

paste:
ディレクトリ読み込み 2回
stat(i-node読み込み) ファイル個数×3
MD5 ファイル個数
中間ファイル(パイプ)書き出し/読み込み
出力

ファイル数が多くてiノードのキャッシュは期待できない。
MD5はCでの実装もあるから、インタープリターのオーバー
ヘッド見込んでも、おそらくLLの方が速いね。

877 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 14:26:16 ]
>>876
はいはい、「おそらく」と書いとけば何でも言えるねw

perl/python/ruby自体のオーバーヘッド(結構大きい)も良く考えて出直してね

878 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 14:31:44 ]
マルチコアなCPU環境だと、
同じことやる場合でもパイプで複数のプロセスに分けた方がかえって速かったりする

879 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 14:48:09 ]
議論してる時間で問題を解決してしまった人の勝ち。


880 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 15:07:26 ]
>>877
ぷぷっ。そのレスはそのまま返してやるよ。w

881 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 15:11:54 ]
find ->(パイプ)-> md5
の場合、ファイル1個あたりにかかる時間はmd5の方がはるかに大きく、
find自体の動作はmd5の実行の裏プロセス(別CPU)で行なうから、
findの実行時間はすべてmd5の実行時間内に吸収されてしまって、
結局findの時間は無関係になる。

例: sleep 1 | sleep 10 ってやると、10秒で終了する。
左側のsleep 1は無関係になる。

もう1本のfindの、
find ->(パイプ)-> statコマンド
の方は、find->md5の方よりはるかに速いから、
2つのfindを名前付きパイプでpasteに接続する場合、
実行速度は遅い方の上流パイプであるmd5だけによって決まる。

よって、stat云々は一切関係なくなり、
名前付きパイプ+pasteが高速で動作する。

882 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 15:18:31 ]
LLが遅いと因縁つけてる奴は実測して証拠出せよ。w



883 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 15:34:47 ]
>>860が言うようにtimeで計測すれば済む話なのになぜ誰もやらないのか
あ、俺はrubyとか知らないからパスね^^
誰かfindとperl/python/rubyでベンチ取ってよ

884 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/27(水) 16:40:18 ]
適当に試してみたよ pastebin.com/f1130c0e8
$ time test.bash >/dev/null
real 1m50.762s
user 0m17.992s
sys 0m4.473s
$ time test.py >/dev/null
real 1m49.994s
user 0m19.045s
sys 0m5.523s

885 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 01:38:29 ]
>>884
そのPythonのソースだと、各ファイルに対してstat()が最大3回呼ばれるのかな

886 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 01:58:11 ]
ま、どう考えてもMD5sum取る部分のI/O律速になるので
stat()の回数減らしたところで誤差程度だろうけど

887 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 03:34:55 ]
1000倍以上違うだろうね

888 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 11:54:30 ]
>>839
> find . -type f | xargs stat -f '%N,%z' > outputfile.txt
> find . -type f | xargs md5 $1 | sed -E 's/^MD5 \((.*)\) = (.*)/\1,\2/' > outputfile.txt

findは -print0でxrgsに渡し、xargsは -0で受け取るようにしましょう。

> find . -type f -print0 | xargs -0 stat -f '%N,%z' > outputfile.txt
> find . -type f | xargs -0 md5 | sed -E 's/^MD5 \((.*)\) = (.*)/\1,\2/' > outputfile.txt

www.otsune.com/diary/2007/03/29/1.html

889 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 17:51:27 ]
こんなのfind + perl のワンライナーでいいじゃん
> find . -type f -print | perl -l0ne 'use Digest::MD5 qw(md5_hex);$s=-s $_;print $_ ." $s " . md5_hex($_) ."\n"'

890 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 18:10:27 ]
>>889
アフォか、ファイル名の md5 計算してどうする www

891 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 18:13:23 ]
>>888
日記だからある意味しょうがないのだが。そういう古臭いページなんとかならないもんかね。

892 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 18:22:57 ]
>>890
おー、いまperldocしたら 
calculate the MD5 digest of this "message"
ってかいてあったwwはずかしいwwwしぬかも



893 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 19:05:07 ]
>>891
どこがどう古臭いんだ?

894 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 19:22:17 ]
今書くなら「xargs捨てろ。 -exec {} +使え」

895 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 19:22:36 ]
>>894
一緒じゃないの?

896 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 20:27:35 ]
-exec だと正しく受け取れないファイルがある。
-print0 |xargs -0のほうが安全

897 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 21:09:21 ]
へー知らんかった

898 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 21:11:42 ]
>>896
原理的に有り得ないんだけど。

899 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 21:13:42 ]
どっちだよ気になるだろ

900 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 21:37:46 ]
-exec の + ターミネータ(;でなく)を知らないで答えていたりしてな。


901 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 21:52:49 ]
それにしても「正しく受け取れない」は原理的にない。

902 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 22:08:06 ]
いや、あるから -0 オプションが後から追加されたんですが。



903 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 22:08:48 ]
って、xargs じゃなくて find の方か。ならないや。ごめん。


904 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 22:17:25 ]
結局>>896は本当なのかどうなのか答えてくれ
つまり実際に-exec +だと受けとれないファイルがあるのか
それとも単に-exec ;と-exec +を混同してただけなのか

それと>>894の-exec +のほうが良いという根拠は何だ?
-print0 | xargs -0じゃいかんのか?

このままじゃ気になって寝れやしない

905 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 22:42:34 ]
>>904
> それと>>894の-exec +のほうが良いという根拠は何だ?
exec +がある環境ならxargsはレガシーコマンド。webで解説する必要は無い。

そもそも、exec +が無い環境がレガシー。 xargsはジジイの胸の奥にしまっておいてくれ。

906 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 22:49:15 ]
GNU findutilsにxargs付いてくるじゃない

907 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/28(木) 22:51:58 ]
ジジイの懐古趣味

908 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/29(金) 01:55:18 ]
xargs がいつobsolete になったの?
なんか文書ある?

909 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/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 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/29(金) 16:58:01 ]
findの-execはひとつひとつ実行するから遅いだろ。
grep /dev/null というバッドノウハウもアレだけど。(-h使えって?)

911 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/29(金) 17:01:35 ]
>>910
find -exec + の 「+」の意味を理解していない方は発言を御遠慮ください

912 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/30(土) 09:34:03 ]
>>910
レガシーちゃんキター



913 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/30(土) 09:38:13 ]
MacのTimeMachineのようなことをするスクリプトを教えて

914 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/30(土) 10:01:33 ]
pdumpfs
Rubyスクリプトだけどな。


915 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/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 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/30(土) 20:41:41 ]
ttp://www.gnu.org/software/findutils/manual/html_mono/find.html#Multiple-Files

GNU findutils 4.2ぐらいからか

917 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/30(土) 21:09:21 ]
-exec {} + テンプレに入ってるじゃねえかww

918 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/30(土) 22:00:29 ]
ほんとだ。テンプレにあるな。
>findは -exec command {} + を推奨。
>他に -print0、xargsは -0オプションという方法もあるがSolaris非対応)

まるで -exec + ならば solaris でも使えるように書いてあるが、
実際は使えなかったような記憶が…


919 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/31(日) 02:34:28 ]
>>913
wikis.sun.com/display/OpenSolaris/ZFSTimeSlider

920 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/31(日) 20:50:42 ]
>>918
docs.sun.com/app/docs/doc/819-1210/find-1?a=view

921 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/31(日) 21:09:07 ]
>>920
そのマニュアル、肝心なところを誤訳してるね。
日本語訳マニュアルは信用してはいけない。

922 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/01/31(日) 21:19:36 ]
sunでもあるんだな。日本誤訳マニュアル



923 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/02/01(月) 01:46:35 ]
原語は技術者が書いてても
翻訳は非技術者に丸投げだからね


924 名前:名無しさん@お腹いっぱい。 [2010/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 のバグ?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<233KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef