【发布时间】:2013-03-23 11:48:36
【问题描述】:
我的日常生活很艰难,我必须手动修补数以千计的文件,而且我有 80% 的时间都在编写用于修补文件的 sed 正则表达式。
所以例如我有一行代码:
" Limit("POST", "*", ".*", 1000, PER_MINUTE),"
我已经在某个特定的地方注入了某个文件,所以我为此使用了 sed:
limits_py=/my/path/limits.py
sed -i "s/\ \ \ \ Limit(\"POST\",\ \"\*\",\ \"\.\*\",\ 10,\ PER_MINUTE),/\ \ \ \ Limit(\"POST\",\ \"\*\",\ \"\.\*\",\ 1000,\ PER_MINUTE),/" ${limits_py}
我真的厌倦了为每个代码字符串手动编写 sed 正则表达式。
所以问题:如何从字符串生成 sed?
例如,这样的事情将是一种幸福:
echo 'someclass.somemethod("some_argument") # blah blah my comment here' > sed_generator --replace
为 sed “调整”每一行真的很烦人。有什么工具可以解决这个问题吗?甚至更好的diff'ing 两个文件并为每个差异生成 sed 正则表达式替换?也许没有正则表达式可以sed?
【问题讨论】:
-
只有我一个不明白你在说什么吗?
-
编辑了一个问题。不明白的话可以随便问。
-
你已经知道 sed。使用 sed 为您生成 sed :-) 如果您厌倦了引用问题,请转向更强大的语言,例如 Perl。
-
你为什么要逃离这些空间?
-
因为当你转义代码时很难说有多少空格,但即使我在编写 php 代码时,我们总是会转义空格..