Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- ''' Tiny script to do perl -p -i -e -type replace on text in files '''
- import sys
- import re
- def perl_dash_pie(in_exp, out_str, filename):
- in_reg = re.compile(in_exp)
- in_txt = open(filename, 'rt').read(-1)
- out_txt = in_reg.sub(out_str, in_txt)
- if in_txt != out_txt:
- open(filename, 'wt').write(out_txt)
- return True
- return False
- usage = ('Usage: '
- '%s <str_to_replace> <replacement> <filename0> '
- '[<filename1> ...]')
- if __name__ == '__main__':
- prog = sys.argv.pop(0)
- if len(sys.argv) < 3:
- raise OSError(usage % prog)
- in_reg = re.compile(sys.argv.pop(0))
- out_str = sys.argv.pop(0)
- for fname in sys.argv:
- if perl_dash_pie(in_reg, out_str, fname):
- print 'Changes in file %s' % fname
Add Comment
Please, Sign In to add comment