Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > shellライブラリ > Shell::Filterクラス
class Shell::Filter
クラスの継承リスト: Shell::Filter < Enumerable < Object < Kernel < BasicObject
Abstract
コマンドの実行結果はすべてShell::Filterとしてかえります.
特異メソッド
new -> Shell::Filter
-
執筆者募集。 Shell::Filter クラス のインスタンスを返します。 通常このnewを直接使う機会はすくないでしょう。
インスタンスメソッド
self + filter
-
執筆者募集
filter1 + filter2 は filter1の出力の後, filter2の出力を行う.
self < src -> self
-
srcをフィルタの入力とする. srcが, 文字列ならばファイルを, IOオブジェクトであれ ばそれをそのまま入力とする.
- [PARAM] src:
- フィルタの入力を, 文字列もしくは,IO オブジェクトで指定します.
使用例
Shell.def_system_command("head") sh = Shell.new sh.transact { (sh.head("-n 30") < "/etc/passwd") > "ugo.txt" }
self > to -> self
-
toをフィルタの出力とする. toが, 文字列ならばファイルに, IOオブジェクトであれ ばそれをそのまま出力とする.
- [PARAM] to:
- 出力先を指定します.文字列ならばファイルに,IOオブジェクトならばそれに出力します.
使用例
Shell.def_system_command("tail") sh = Shell.new sh.transact { (sh.tail("-n 3") < "/etc/passwd") > File.open("tail.out", "w") #(sh.tail("-n 3") < "/etc/passwd") > "tail.out" # と同じ. }
self >> to -> self
-
toをフィルタに追加する. toが, 文字列ならばファイルに, IOオブジェクトであれば それをそのまま出力とする.
- [PARAM] to:
- 出力先を指定します。文字列ならばファイルに、IOオブジェクトならばそれに出力します。
使用例
Shell.def_system_command("tail") sh = Shell.new sh.transact { (sh.tail("-n 3") < "/etc/passwd") >> "tail.out" #(sh.tail("-n 3") < "/etc/passwd") >> File.open("tail.out", "w") # でも同じ. }
each(rs = nil) -> ()
-
フィルタの一行ずつをblockに渡します。
- [PARAM] rs:
- レコードセパレーターを表す文字列を指定します。 nil ならば、Shell.record_separatorの値が使用されます。
使用例
sh = Shell.new sh.cat("/etc/passwd").each { |line| puts line }
input
input=
-
執筆者募集
フィルターを設定します。
to_a -> Array
to_s -> String
-
実行結果を文字列、それぞれ文字列の配列で返します。
使用例
Shell.def_system_command("wc") sh = Shell.new puts sh.cat("/etc/passwd").to_a sh.transact { puts (cat("/etc/passwd") | wc("-l")).to_s }
self | filter -> object
-
パイプ結合を filter に対して行います。
- [PARAM] filter:
- Shell::Filter オブジェクトを指定します.
- [RETURN]
- filter を返します.
使用例
Shell.def_system_command("tail") Shell.def_system_command("head") Shell.def_system_command("wc") sh = Shell.new sh.transact { i = 1 while i <= (cat("/etc/passwd") | wc("-l")).to_s.chomp.to_i puts (cat("/etc/passwd") | head("-n #{i}") | tail("-n 1")).to_s i += 1 end }