我正在编写一个脚本,可以从文件中取消注释几行代码。这就是我试图取消注释的内容:
//...your try block
} catch (CustomException ex) {
throw new ValidationException(ex.getCode());
} catch (BusinessValidationException ex) {
throw new ValidationException(ex.getMessage());
} catch (Exception ex) {
throw new ValidationException(100);
}
所以我做了我的研究,发现这个命令可以完成我正在寻找的东西:
#export PATH="$HOME/.rbenv/bin:$PATH"
#eval "$(rbenv init -)"
那么我如何调整它以做我想要的事情呢?我试图在命令中粘贴文本,尽力逃避所有引号,但它似乎没有用。
答案 0 :(得分:4)
评论适用于评论,而非流量控制。
不是尝试修改文件来切换这些行,而是通过环境变量控制它们的执行。
if [[ -v enable_ruby ]]; then
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
fi
现在,如果变量enable_ruby
在环境中设置为任何值,则会修改PATH
并配置ruby
。否则,这两行将被忽略。
$ bash myScript # Don't do the ruby stuff
$ enable_ruby=1 bash myScript # Do the ruby stuff
$ export enable_ruby= # The empty string is sufficient
$ bash myScript # Do the ruby stuff
$ unset enable_ruby
$ bash myScript # Don't do the ruby stuff
答案 1 :(得分:3)
@ThomasKühn指出,你必须谨慎而费力地逃避#export PATH="$HOME/.rbenv/bin:$PATH" # setrbpath
#eval "$(rbenv init -)" # runrbinit
的格局。sed -i -e '/setrbpath/s/^#//' file
更聪明地工作的替代方案,而不是更难,并且看看你是否可以预先标记线条:
e.guid
现在你可以ORDER BY MIN(e.guid)
,它可以稳定地对模板文件进行小修改。
答案 2 :(得分:0)
要强有力地完成这项工作,只需将awk与字符串操作一起使用即可。给定这些输入文件:
ID
这就是你所需要的:
CODE
或者目标字符串是否可以显示在中间行而不是始终作为整行:
ID
无论目标字符串包含哪些字符,上述内容都将有效。