世界中の羊をかき集めてスマートフォン用の表示で見る世界中の羊をかき集めて2013-10-12シェルスクリプトのタブ文字と変数展開Shell先日、シェルスクリプトの動作でハマったので書き留めておく。やりたいのはこういうことだ。log.txtaaabbbcccdddeeefffggghhhこういうlogファイルがあり、「aaabbb」と「eeefff」をgrepしたかった。ちなみに、「aaabbb」、「eeefff」、「ggghhh」の間にあるのはタブ文字だ。log.txtとやってみたが、引っかからない。やって、シェルの機能でタブ文字に置換してもらわないといけない。タブキー」を打つとタブ文字が入力できる。現実は悲しいことにgrepするだけの処理だけではなくgrepしたあとawkで集計しメールするといったことをやる必要がある。ここでは話を簡単にするためにgrepするだけのシェルスクリプトを用意する。grepする文字はあとで変更可能なように変数に入れておく。log.txtgrepでOR検索する際には「\|」で区切ると出来る。grep.shを実行する。zshだとちゃんと動くが、bashだと動かない。directorylog.txt:aaabbbエラーがおきている。なにがおきているのだろう。「-x」オプションをつけて、動作をみてみよう。directorylog.txt:aaabbb2行目がおかしい。log.txt」となってほしいが、そうなっていない。log.txtに修正すればいい。log.txtaaabbbeeefffなんでこういう動作になるかというと、Bashでは展開する変数をクォートしなければ単語分割が起きるからだ。以下の記事に詳しく書かれている。http://qiita.com/uasi/items/82b7708d5da213ba7c31まとめRubyで書いたほうがはやい。Firehoseの料金が高かったmonday.comのURLをSlackに貼ったら展開されるようにしたSpinnakerについて調べたのでまとめる月別アーカイブはてなブログをはじめよう!shepherdMasterさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。