草庐IT

shell脚本入门——流程控制

全部标签

Ruby - 如何使用脚本输出编写新文件

我有一个简单的脚本可以进行一些搜索和替换。基本上就是这样:File.open("us_cities.yml","r+")do|file|whileline=file.gets"dofindareplace"end"HereIwanttowritetoanewfile"end如您所见,我想用输出编写一个新文件。我该怎么做? 最佳答案 可以像这样输出到一个新文件(不要忘记第二个参数):output=File.open("outputfile.yml","w")output因此在您的示例中,您可以这样做:File.open("us_cit

ruby - 将环境变量传递给 exec shell 命令的正确方法

这个问题在这里已经有了答案:Shelloutfromrubywhilesettinganenvironmentvariable(5个答案)关闭8年前。我正在使用ruby​​1.8.7补丁249。以下是将环境变量传递到我需要从我的ruby​​程序执行的shell命令的最佳/唯一方法吗?forkdoENV['A']='A'exec"/bin/bash-c'echo$A'"endProcess.wait

ruby - 如何在 Rails 之外的 Ruby 脚本中使用 ActionView::Helper?

我希望在Ruby脚本中使用ActionView::Helpers::NumberHelper。我需要什么等等? 最佳答案 ~>irbruby-1.9.2-p180:001>require'action_view'=>trueruby-1.9.2-p180:002>ActionView::Base.new.number_to_currency43=>"$43.00" 关于ruby-如何在Rails之外的Ruby脚本中使用ActionView::Helper?,我们在StackOverflo

ruby-on-rails - Rails 控制台 - 查找在某天创建的位置

使用RubyonRails控制台,是否可以查询数据库中某一天创建的所有记录?有点像date="january52013"users=User.find(:all,:conditions=>{:created_at=>date}) 最佳答案 你可以这样做:date=Date.parse('january52013')users=User.where(created_at:date.midnight..date.end_of_day) 关于ruby-on-rails-Rails控制台-查找在

ruby - 立即从控制台获取单个字符

这个问题在这里已经有了答案:Howtogetasinglecharacterwithoutpressingenter?(6个答案)关闭7年前。是否可以在提供后从STDIN获取每个字符(无需等待返回键)?

ruby-on-rails - 如何将 Ruby 数组从我的 Heroku 控制台导出为 CSV?

我希望将数组从我的heroku控制台导出到本地CSV文件中。在我目前的情况下,我有一个每日抽成任务,用于查找谈论我的应用程序的推文。我想分析这些推文,看看它们是什么时候进来的,等等:herokurunconsoletweets=Tweet.allcodetoexporttweetsintoalocalCSVfilegoeshere任何想法将不胜感激! 最佳答案 您无法从heroku控制台访问您的本地文件系统。一种选择是使用Tee.Tee将输出同时发送到STDOUT和一个文件,因此您可以拥有打印的所有内容的本地日志。herokurun

ruby-on-rails - 简单的正则表达式——用空格替换下划线

嘿,我正在编写我的第一个Rails应用程序,我正在尝试用空格替换传入ID名称中的下划线,如下所示:之前:test_string之后:测试字符串我该怎么做?对不起,如果这是一个有点愚蠢的问题,我对正则表达式不是很熟悉...... 最佳答案 str.gsub!(/_/,'')gsub代表“全局替换”,感叹号表示它将更改字符串本身,而不仅仅是返回替换后的字符串。您也可以使用String#tr!在没有正则表达式的情况下执行此操作:str.tr!('_','') 关于ruby-on-rails-简

ruby - 正则表达式——Ruby 与 Perl

我注意到我的Ruby(1.9)脚本中存在一些极度延迟,经过一些挖掘后,它归结为正则表达式匹配。我在Perl和Ruby中使用以下测试脚本:Perl:$fname=shift(@ARGV);open(FILE,"){if(/(.*?)\|.*?SENDINGREQUEST.*?TID=(.*?),/){print"$1:$2\n";}}ruby:f=File.open(ARGV.shift)while(line=f.gets)if/(.*?)\|.*?SENDINGREQUEST.*?TID=(.*?),/.match(line)puts"#{$1}:#{$2}"endend我对两个脚本使

ruby-on-rails - 独立 Ruby 脚本中的 Ruby Gem

这是一个非常基本的ruby​​gems问题。我熟悉像这样编写简单的ruby​​脚本:#!/usr/bin/rubyrequire'time't=Time.at(123)putst现在我想在我的脚本中使用我自己的ruby​​gem。在我的Rails项目中,我可以简单地require'my_gem'。但是,这在独立脚本中不起作用。在独立的ruby​​脚本中使用我自己的gem的最佳/正确方法是什么? 最佳答案 您应该能够在最新版本的Ruby中直接要求它。#optional,alsoallowsyoutospecifyversiongem'

javascript - `binding.pry` 用于 javascript 控制台?

在Ruby中,我可以在我的代码中的任何地方键入binding.pry,在那个执行点我的控制台将进入一个REPL,我可以在其中访问所有局部变量,可以进行更改并执行任意代码。例子:#foo.rbrequire'pry'n=5binding.pryputs"yournumberis#{n}"当我运行它时:$rubyfoo.rbFrom:/Users/cgenco/Desktop/foo.rb@line4:1:#foo.rb2:require'pry'3:n=5=>4:binding.pry5:puts"yournumberis#{n}"[1]pry(main)>n=100=>100[2]pr