~marcelo-escobal/geined/Alianza

« back to all changes in this revision

Viewing changes to srchrep.rb

  • Committer: Marcelo Escobal
  • Date: 2010-01-30 20:17:52 UTC
  • Revision ID: marcelo.escobal@gmail.com-20100130201752-f2ihnfbcjzjp1bfn
Continuacion de tareas de limpieza e inclusión de rama en desarrollo.
Inclusion de scripts usados como herramientas: buscar.sh, xdiferencia, instalar.py, etc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env ruby
 
2
class File
 
3
  def replace(pattern, string)
 
4
    full_path = File.expand_path path
 
5
    return if !File.file?(full_path)
 
6
 
 
7
    reopen(full_path, 'r')
 
8
    lines = readlines
 
9
 
 
10
    changes = false
 
11
    lines.each do |line|
 
12
      changes = true if line.gsub!(pattern, string)
 
13
    end
 
14
 
 
15
    if changes
 
16
      reopen(full_path, 'w')
 
17
      lines.each do |line|
 
18
        write(line)
 
19
      end
 
20
      close
 
21
    end
 
22
  end
 
23
end
 
24
 
 
25
if ARGV.count != 3
 
26
    puts "Error: argumentos incorrectos"
 
27
    puts "Uso: srchrep.rb cadena_buscar cadena_reemplazar archivos"
 
28
    puts "Donde 'archivos' es una lista de archivos en formato *.* entre comillas "
 
29
else
 
30
    # ver si existe archivo
 
31
    # hacer una lista de archivos que tengan la cadena buscada
 
32
    files = Dir.glob(ARGV[2])
 
33
    numarch = files.count
 
34
    # por cada archivo de la lista
 
35
    for filename in files
 
36
        arch = File.open(filename)
 
37
        arch.replace(/#{ARGV[0]}/,ARGV[1])
 
38
    end
 
39
end