1
  
2
  
3
  
4
  
5
  
6
  
7
  
8
  
9
  
10
  
11
  
12
  
13
  
14
  
15
  
16
  
17
  
18
  
19
  
20
  
21
  
22
  
23
  
24
  
25
  
26
  
27
  
28
  
29
  
30
  
31
  
32
  
33
  
34
  
35
  
36
  
#!/usr/local/bin/pike 
import Stdio; 
 
int main(int argc, string *argv) 
{ 
  int i; 
  string file; 
   
  if(argc < 4) 
  { 
    werror("Usage: rsif <from> <to> <files>\n"); 
    return 1; 
  } 
 
  for(i = 3; i < argc; i++) 
  { 
    string file_contents; 
    if(file_contents = read_bytes(argv[i])) 
    { 
      if(-1 != search(file_contents,argv[1])) 
      { 
        write("Processing %s.\n", argv[i]); 
        file_contents = replace(file_contents,argv[1],argv[2]); 
 
        if( mv(argv[i], argv[i]+"~") ) 
        { 
          write_file(argv[i], file_contents); 
        } else { 
          write("Failed to create backup file.\n"); 
        } 
      } 
    } 
  } 
   
  return 0; 
}> 
(No newline at end of file)