Last active
June 7, 2018 00:54
-
-
Save consolewitch/13b0de8b22959c539c3039dac3530854 to your computer and use it in GitHub Desktop.
In a shell / ansible / packer stack find and replace var names.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import re | |
import fileinput | |
import sys | |
old_caps_underscored_var=sys.argv[1] | |
old_lower_underscored_var=old_caps_underscored_var.lower() | |
old_lower_dashed_var=old_lower_underscored_var.replace("_","-") | |
new_caps_underscored_var=sys.argv[2] | |
new_lower_underscored_var=new_caps_underscored_var.lower() | |
new_lower_dashed_var=new_lower_underscored_var.replace("_","-") | |
filename=sys.argv[3] | |
def convert (old_var,new_var,line): | |
regex = r'(?<![a-zA-Z]-)\b' + old_var + r'\b(?!-[a-zA-Z])' | |
return re.sub(regex,new_var,line.rstrip('\n')) | |
with fileinput.input(filename, inplace=True, backup='.bak') as file: | |
for line in file: | |
line=convert(old_caps_underscored_var,new_caps_underscored_var,line) | |
line=convert(old_lower_underscored_var,new_lower_underscored_var,line) | |
line=convert(old_lower_dashed_var,new_lower_dashed_var,line) | |
print(line) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment