说我在我的终端中输入了一些内容,例如:
ls | grep phrase
我想使用Ruby来做到这一点,但无法弄清楚要传递给它的内容.
ls | grep phrase | ruby -e "what do I put in here to go through each line by line?"
以此为出发点:
ls ~ | ruby -ne 'print $_ if $_[/^D/]'
哪个回报:
Desktop Documents Downloads DropBox
-n标志表示“遍历所有传入行”并将它们存储在“默认”变量$_中.我们没有看到变量使用太多,部分原因是对Perl过度使用它的下意识反应,但它在Rubydom中有其有用的时刻.
这些是常用的标志:
-e 'command' one line of script. Several -e's allowed. Omit [programfile] -n assume 'while gets(); ... end' loop around your script -p assume loop like -n but print line also like sed