Archive

久々に第10回記念シェル芸勉強会行ってきたんでまとめとか

ブログ更新自体がかなりお久しぶりです。
何とか生きてました。身の回りの環境が最近がらりと変わったわけですが、
そのへんはまた近々別のエントリにでもしたいと思います。
今回は久々にシェル芸勉強会に行ってきたのでそのまとめを。
といいつつも、実際の会場の様子は以下の Togetter を見てもらったほうが早いかと。
過去のシェル芸勉強会ブログではいちいち自分の Tweet 拾って引用したりと面倒な真似してましたが、
今回からは実際に自分で実行したコマンドたちは gist にまとめてみました。

最終問題についてはお察しください。

収穫とか

せっかくなので今回の収穫とか

  • sed 's/./&\n/g' より grep -o . が便利。

    会場でたちまち grep ブームが発生しておりましたが、純粋にマッチ部分だけ抜き出す -o で縦表示にするテクニックがあるのに今まで気づかず目からウロコものでした。

    $ echo aabbcdabbcccdd | grep -o .
    a
    a
    b
    b
    c
    d
    a
    b
    b
    c
    c
    c
    d
    d
    
  • grep -q で結果を表示しない。

    これは個人的に地味にいいなと思ったしらなかったオプションで、今までシェルスクリプトを書くときなんかに「ファイル内に文字列があるかないか判定したいだけ」のときなんかリターンコードを見るためだけにわざわざ grep して /dev/null に捨てるような無駄なことをしていたのですが、これからはスッキリ書けそうです。

    $ grep huga file2
    huga
    $ grep -q huga file2
    ##  なにも表示されない
    
  • xargs で余計なレイアウトを取っ払える。

    もはやシェル芸の定番と思っていた xargs もこの使い方は知らなかったです。具体的には以下のような感じ。

    $ cat toi2.txt
                 1
    2 3
                     4                     5
                                     6     7
     8         9
    $ cat toi2.txt | xargs
    1 2 3 4 5 6 7 8 9
    
大きかったのはこのあたりです。他にも awk$0 をうまく置き換えることによって print を省略できたりとかありそうでしたが、
この辺は色々試しながらものにしていきたいものです。

感想とか

勉強会自体、最近全然顔を出せていませんでしたが、
シェル芸勉強会は私みたいな泥臭いインフラ運用なんかをやってる人間にとってはすぐに仕事に活かせそうな Tips がごろごろ転がってて
楽しみながら習得できる感じが相変わらず良いですね。
今回は懇親会まで行けませんでしたが、また次回参加したいですね。
(といっても確か次回は大阪だったはず..orz)