Guest User

Untitled

a guest
May 26th, 2018
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. #!/usr/bin/env python
  2. ''' Tiny script to do perl -p -i -e -type replace on text in files '''
  3.  
  4. import sys
  5. import re
  6.  
  7.  
  8. def perl_dash_pie(in_exp, out_str, filename):
  9. in_reg = re.compile(in_exp)
  10. in_txt = open(filename, 'rt').read(-1)
  11. out_txt = in_reg.sub(out_str, in_txt)
  12. if in_txt != out_txt:
  13. open(filename, 'wt').write(out_txt)
  14. return True
  15. return False
  16.  
  17.  
  18. usage = ('Usage: '
  19. '%s <str_to_replace> <replacement> <filename0> '
  20. '[<filename1> ...]')
  21.  
  22.  
  23. if __name__ == '__main__':
  24. prog = sys.argv.pop(0)
  25. if len(sys.argv) < 3:
  26. raise OSError(usage % prog)
  27. in_reg = re.compile(sys.argv.pop(0))
  28. out_str = sys.argv.pop(0)
  29. for fname in sys.argv:
  30. if perl_dash_pie(in_reg, out_str, fname):
  31. print 'Changes in file %s' % fname
Add Comment
Please, Sign In to add comment