はじめに
第8回は,
というわけで,
ワンライナーとは
そもそも,
さて,
- ※1
- zshなど,
複数行のコマンドラインを指定可能なシェルも存在します。
簡単なワンライナー
それでは,
簡易grepの例
ruby -n -e 'print if /hello/i' *.txt
皆さんにとっては釈迦に説法かもしれませんが,
残るのは肝心のプログラム本体ですが,
なお,
ワンライナーで踏む地雷
さて,
簡易grepの例
ruby -n -e 'print if /hello|bye/i' *.txt
見ての通りで,
どうしてでしょうか。これは,
この問題の解決方法自体は簡単です。cmd.
簡易grepの例
ruby -n -e "print if /hello|bye/i" *.txt
これでWindowsのコマンドプロンプトでも正しく動作するようになりました。
Ruby関連書籍やサイトなどでも,
……と,
ワンライナーで小文字を大文字に置き換える例
% echo matz | ruby -p -e '$_.tr! "a-z", "A-Z"'
MATZ
-pオプションの効果についてはリンク先を参照してください。さて,
ご覧の通り,
これでうまく行きました。めでたしめでたし……ではありません。ご存知の通り,
そこで登場するのが,
- ※2
- 任意の文字と書きましたが,
%記法にはその意味を変える特別な指定があるため, アルファベットは避けておくのが無難です。また, 例に挙げたように括弧類を使う場合は開き括弧と閉じ括弧で対応が取られます。詳しくはリファレンスマニュアルの%記法の項を参照してください。
というわけで,