sanaeの日記: findの使い方 13
日記 by
sanae
ああ、忘れてる。忘れてるよ、お母さん!(何
findの結果を引数にコマンドを実行させる方法。
find パス -exec コマンド {} \;
そ、そう言えばそうだった。。。
以下、私が適当にやってみた例。
find ./ -exec コマンド \;
find ./ -exec 'コマンド \;'
find ./ -exec {コマンド} \;
find ./ -exec '{コマンド}' \;
おしい、非常におしい(そうでもない?)
最後に\;をつけるのは覚えてたのに。
でも、よーく考えたら、コマンド実行する必要がなかったので調べたことが無駄に・・・。
#シャクなのでここに書いときました。
xargs の方が楽なときも (スコア:1)
見付かったファイル名をコマンドのパラメータに渡してくれます。
find ./ -type f | xargs grep 'hoge' とか
以前は -exec コマンド {} \; でやっていたのだけど xargs を知ってからはあまり使わなくなっちゃいました。
もっとも xargsだとファイル名にスペースが入ってると誤動作しちゃうのですが…
Re:xargs の方が楽なときも (スコア:0)
そりゃ使い方まちがえてるんだから当然。そもそもxargsを使うのは単なる「楽だから」ではない、れっきとした理由がある訳だが、その程度も御存知ないようだ。
Re:xargs の方が楽なときも (スコア:1)
ACではないですがこんなかんじでしょうか (スコア:1)
./eval.F:16: call fft(p,c%dipoR,dipoK,FFT_FORWARD)
./eval.F:17: call fft(p,c%acouR,acouK,FFT_FORWARD)
./aaa bbb.F:4:fft
%
GNU の find ならカレントディレクトリがデフォルトなので . は不要。
-print0, -0 もGNUオリジナルかも。
/dev/null は該当ファイルが0または1個のとき用。
昔は xargs のほうが find -exec より速かった。
ここはfindとxargsについて蘊蓄をタレるスレになりました。
love && peace && free_software
t-nissie
Re:ACではないですがこんなかんじでしょうか (スコア:1)
私なら強引にgrepで処理してしまう所かも。
ところで、.Fってもしかして...
# むかーし(高坊のころ)ちょっとやった事があるかも。
Re:xargs の方が楽なときも (スコア:1)
釣られて反応すると損です。
Re:xargs の方が楽なときも (スコア:1)
Re:xargs の方が楽なときも (スコア:0)
xargsの使い方もろくに知らないのに、へらず口だけは余計に叩くんだな。頭も性格も悪いし、最低限のしつけさえ受けさせてもらえなかったのか。
Re:xargs の方が楽なときも (スコア:0)
Re:xargs の方が楽なときも (スコア:0)
--null, -0 オプションを使用すると、区切り文字を null 文字へと変更することができる。また、引用符やバックスラッシュなどのメタキャラをそのまま用いる。
ということです。
xargs
標準入力から得た引数を、コマンドの最後につけて実行する
作成されるプロセスは一つだけ
cp とかとは相性はあまり良くない
フィルタ系プログラムと相性が良い
find -exec
コマンドの好きな場所に好きなオプションを入れることが
Re:xargs の方が楽なときも (スコア:0)
Re:xargs の方が楽なときも (スコア:1)
参考になりました。ありがとうです。
石楠花 (スコア:0)
石楠花(しゃくなげ)な 貴方がシャクを 投げたので
「酌」をあげたい シェゲナベィベー♪
#荒らしスマソ
#本スレに ついて逝けずに スレ汚し
#orz