ワンライナーのコマンドラインオプション

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

ワンライナーを書くためのコマンドラインオプションです。
ワンライナーを試すために、以下のファイルを用意します。

スポンサーリンク

lang.dat

Ruby, Java
Perl, PHP, JavaScript
COBOL, C++, Python

-e
コマンドをスクリプトとして実行する。

>ruby -e 'print "Hello Ruby !"'
Hello Ruby !

-a
オートスプリット。
入力行をsplitして配列「$F」に格納。

>ruby -an -e 'p $F' lang.dat
["Ruby,", "Java"]
["Perl,", "PHP,", "JavaScript"]
["COBOL,", "C++,", "Python"]

-Fパターン
オートスプリットで、入力行をsplitするパターンを指定する。

>ruby -anF,  -e 'p $F' lang.dat
["Ruby", " Java\n"]
["Perl", " PHP", " JavaScript\n"]
["COBOL", " C++", " Python"]

-n
ループ内でスクリプトを実行。
「while gets() ~ end」で、入力行を読み込む。
読み込んだ行は、「$_」で参照。

>ruby -n -e 'p $_.gsub!(/, /, " : ")' lang.dat
"Ruby : Java\n"
"Perl : PHP : JavaScript\n"
"COBOL : C++ : Python"

-p
-nと同じループ内で実行を行い、自動的に「$_」を出力する。

>ruby -p -e '$_.gsub!(/, /, " : ")' lang.dat
Ruby : Java
Perl : PHP : JavaScript
COBOL : C++ : Python
C:\cygwin\usr\bin\ruby>

-i拡張子
ファイルを編集しコピーする。

>ruby -i.dat.copy -np -e '$_.gsub!(/, /, " : ")' lang.dat

上記を実行すると、lang.dat.copyというファイルが作成され、その中身は以下の通り。

Ruby, Java
Perl, PHP, JavaScript
COBOL, C++, Python
スポンサーリンク
 
スポンサーリンク