homer512 icon

py inplace sed

homer512 | PRO | 04/21/15 06:09:49 PM UTC | 0 ⭐ | 681 👁️ | Never ⏰ | []
Python |

1.02 KB

|

None

|

0 👍

/

0 👎

#!/usr/bin/python3
 
import re
import sys
#import pdb
 
def main():
    #pdb.set_trace()
    for num_file, file_name in enumerate(sys.argv[1:], 1):
        print("Starting the change for file: %s" % file_name)
        line_list = []
        with open(file_name, "r+") as fhandle:
            for line in fhandle:
                if "ALTER_ME_IN_THE NEW_FILE" in line:
                    new_line_to_insert = re.sub(",.*", ");", line)
                    newlines = (
                        "#ifdef F1\n",
                        line,
                        "#else\n",
                        new_line_to_insert,
                        "#endif\n",
                    )
                    line_list.extend(newlines)
                else:
                    line_list.append(line)
            fhandle.seek(0)
            fhandle.writelines(line_list)
        print("Finished the change for file: %s" % file_name)
        print("DONE for %d number of files" % num_file)
 
 
if __name__ == '__main__':
    main()

Comments