ぼんやりと考えている人

ひろしまなおき (廣島直己)
名前: ひろしまなおき (廣島直己)
住処: シリコンバレー
職業: しがないプログラマ
家族: 愛妻一人、息子一人、娘一人
道具: ハーレー二台、ギター三本
電紙: n at h7a.org

Twitter

« October 2024
S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

以前にぼんやりと考えたこと

最近のコメント

  • ひろしま (ひらがなせいかつ …): じゅくじくんは なくした ほうが いい ですね。ぼくは…
  • たんぽぽ (ひらがなせいかつ …): きゅうに ぜんぶの ことばを ひらがなだけに する…
  • とね まさひこ… (ひらがなせいかつ …): ぼくは ものかき だが, かんじが きらいなので,…
  • とりえ (ひらがなせいかつ …): このさいとは みているだけで なんとなく ほんわか…
  • ひろしま (思い通りの日本語…): こうどな ほんを よめなければ、こうどな たんごを 学…
  • nt4 (思い通りの日本語…): ひらがなせいかつに初めて接し、興味を覚えました。そ…
  • ひろしま (ひらがなせいかつ …): やはり、がいこくに くらしていたり、がいこくとの か…
  • ぷりうりうぷ… (ひらがなせいかつ …): こんにちは。すうぇーでんに すんでいます。いとうさ…
  • Joi Ito (ひらがなせいかつ …): もと べいにち たいしの Edwin O. Reischauer さん…
  • yonay (理屈じゃないとい…): なんか、著者の主張を誤解しているような気がするよ。…

  • Powered by Pivot - 1.40.5: 'Dreadwind'
  • SPAM Poison
  • XMLフィード(RSS 1.0)
  • Atomフィード

26 April '2007 - 13:59 | 技術動向 左から右へと受け流す

ムーディ勝山は「右から左へと受け流す」と歌っているけれど、それとは正反対の方向に受け流すのがプログラマの流儀。

つまり、式は左から評価されていくのが正しいし、それこそが期待される動作。評価の順番は処理系におまかせという言語もあるけれど、今時、そんなものを使う必要はない。って、いまの僕はそれがメインの言語なのだけれど。

って、何の話かと思いきや、なんのことはない、find という便利なコマンドの話で、こいつも例外じゃないよ、という話。

$ ls
aaa.c bbb.c ccc.c ddd.c eee.c fff.c foo.c fubar.c
$ find . -name 'f*.c' -print
./fff.c
./foo.c
./fubar.c
$ find . -print -name 'f*.c'
.
./aaa.c
./bbb.c
./ccc.c
./ddd.c
./eee.c
./fff.c
./foo.c
./fubar.c

と、これを見て全く意味が分からない人は、たぶんこのコマンドの対象外なので以下は読む必要ないです。なにかの間違いで「黒いウィンドウ」が開いたら、びっくりしてポチっと閉じるのが吉。

というわけで、上のコマンドの最後のやつが問題。そう、'f*.c' が効いてない。

これはなぜかというと、-print ってのは、なんでも条件を true にしてしまう効果があるので、最後に書かないと意味がない。他には、-print0 と -ls も同じ効果があるので、これらも条件式の最後に書かないと意味がない。

だから、たとえば、「いまどきfindとxargsを使う時は-print0と-0を忘れずに」で紹介されている

find . -type f -print0 -name '*~' | xargs -0 rm

なんてことをやった日には、えらいことになります。

emacs が作ったバックアップファイルを全部削除しようと思って上のコマンドをコピペして実行すると、-name '*~' の評価を待たずに -print0 されてしまうので、バックアップファイルだけでなしに、あなたのファイルは「全部」消去されてしまいます。そこに残るのは空っぽのディレクトリだけという無惨な状況になるわけですね。南無阿弥陀仏。

まあ、不用意に rm コマンドを打って死亡するということは、誰しも通る、そして通らねばならない道です。ぼくも、rm -rf とタイプしたら、なぜかそこが / で、ぼくも root だった、ということを過去に二度ほど経験して立派な大人になりました。

まあ、otsune さんは、ちゃんと検証せずにコピペでコマンドを実行すると痛い目に遭いますよってことを教えたかったのかも知れないし、そうだとしたら余計なことをしてしまってるのかも知れない。

Trackback link:

トラックバック用URLを生成するには、JavaScriptを有効にしてください。


やっちゃいましたね^^; やっぱみな通る道なんですね。 それで大人になっていく。 find って以外に便利なコマンドなんで、気をつけないとやばいっすね。 でも、ムーディーとはかなり新しいねたですね? 日本に帰っておられてときにみたのですか?
いえいえ、日本に行く前です。そのための youtube ですから。まあ、ムーディに限らずお笑い系はほとんど見てますが、それが何か。
ちなみに、ムーディーではなく、ムーディです。何かの番組で本人がそう明言してました。
やっとツッコミ来たー……ではなく、素でヤバい。ピュアに間違えてました。
とりあえず放置しとくと害があるので、私の日記の方はこの件を追記の上で訂正します。

  
情報を記憶する

Emoticons /

酢ハムがいったいどんなハムなのかはともかく…
 

 

通知:
非公開:

注意: 使用できるタグは <b> と <i> のみです。URLやメールアドレスはそのまま記述すればリンクになります。