Hacker News new | ask | show | jobs
by 3pt14159 2090 days ago
Same, but I was doing it so often I made an alias to a script in my dotfiles folder.

   ruby_code = ARGV[0]

    loop do
      line = $stdin.gets()
      l = line
      break unless line
      line.chomp!
      final_ruby_code = 'puts "' + ruby_code + '"'
      eval(final_ruby_code, binding())
    end
Invoked like this:

    echo foo | rg "The double do: #{l * 2}"
To print:

   The double do: foofoo
Extremely useful when data munging around.
1 comments

mine is called ruby-each-line:

    #!/usr/bin/env ruby

    if ARGV.size != 1
      puts "USAGE: ruby-each-line CODE"
      exit
    end

    STDIN.each_line do |line|
      line = line.strip
      l = line
      eval(ARGV.first)
    end