我想替换以下行:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "patient")
这一行:
@OneToMany(fetch = FetchType.LAZY, mappedBy = "patient", cascade = CascadeType.ALL)
我更喜欢使用sed
,但由于这些特殊字符,我无法让它工作。任何人都可以帮助我吗?
答案 0 :(得分:1)
如果它只是那一行,你可以说
sed 's/)$/, cascade = CascadeType.All)/'
在结束正则表达式之前插入, cascade = CascadeType.All)
($
与此处的行尾相匹配)。
@OneToMany(
开头的行,则可以使用
sed '/^@OneToMany(/ s/)$/, cascade = CascadeType.All)/'
这将指示sed
仅在当前行与正则表达式^@OneToMany(
匹配时才尝试替换。如果有其他行以这种方式开始并且应保持不变,请找到唯一标识该行并使用它的正则表达式。
答案 1 :(得分:0)
以下是awk
版本:
awk '/@OneToMany/ {sub(/\)/,", cascade = CascadeType.ALL&")}1' file
@OneToMany(fetch = FetchType.LAZY, mappedBy = "patient", cascade = CascadeType.ALL)