例如:旧文件
def MyFunction():
some code inside MyFunction()
def MyFunction1():
some code inside MyFunction1()
if __name__ == "__main__":
some code inside
新文件
def MyFunction1():
some code inside MyFunction1()
if __name__ == "__main__":
some code inside
我想从多个文件中删除 MyFunction()及其中的代码 并且 MyFunction()后面没有 MyFunction1()。 MyFunction()可以位于代码中的任何位置,后跟任何代码。
答案 0 :(得分:0)
awk '/^[[:alpha:]]/ { del=0 }
/^def MyFunction\(\):/ { del=1 }
del == 0' file.py
只要变量awk
设置为零,此del
程序就会通过所有内容。
如果找到MyFunction()
定义的第一行,则变量设置为1,然后在找到行开头的字母字符行时重置为零。
这会从输入文件中删除MyFunction()
定义。
在示例数据上运行此结果时的结果是
def MyFunction1():
some code inside MyFunction1()
if __name__ == "__main__":
some code inside