Advertisement
homer512

py inplace sed

Apr 21st, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.02 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. import re
  4. import sys
  5. #import pdb
  6.  
  7. def main():
  8.     #pdb.set_trace()
  9.     for num_file, file_name in enumerate(sys.argv[1:], 1):
  10.         print("Starting the change for file: %s" % file_name)
  11.         line_list = []
  12.         with open(file_name, "r+") as fhandle:
  13.             for line in fhandle:
  14.                 if "ALTER_ME_IN_THE NEW_FILE" in line:
  15.                     new_line_to_insert = re.sub(",.*", ");", line)
  16.                     newlines = (
  17.                         "#ifdef F1\n",
  18.                         line,
  19.                         "#else\n",
  20.                         new_line_to_insert,
  21.                         "#endif\n",
  22.                     )
  23.                     line_list.extend(newlines)
  24.                 else:
  25.                     line_list.append(line)
  26.             fhandle.seek(0)
  27.             fhandle.writelines(line_list)
  28.         print("Finished the change for file: %s" % file_name)
  29.         print("DONE for %d number of files" % num_file)
  30.  
  31.  
  32. if __name__ == '__main__':
  33.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement