如何编写一个 sed 表达式,它通过一行查找匹配
Id int
并更改为
Id string
这将是该行中的唯一内容(仅是 Id int)并且不应更改其他行。
我尝试了一些类似的东西
find . -type f -print0 | xargs -0 sed -i '' 's~^\([[:space:]]*\)"Id"[[:space:]]*"int"[:space:]]*$~\1"Id string"~g'
但是 reg exp 是错误的。
谢谢。
编辑:
进一步澄清:在 、和Id
之间有空格(不一致)。因此,需要匹配 [[:space:]]* ,而不是制表符或表达式Id
int
s/^Id int$
所以要匹配的行可以是
Id int
Id int
Id int
它可以替换为
Id string
Id string
Id string
意味着,无需保留空格数