示例:文件包含以下内容:
lebnassvm0a-dr test1 /vol/test1
lebnassvm0a-dr test2 /test2
lebnassvm0a-dr test3 /test3
stgtestsvm1-dr test21 /test21
stgtestsvm1-dr test22 /test22
stgtestsvm1-dr test23 /test23
我想找到“-dr”并替换为“-drt”,然后在现有字符串前面插入完整的字符串,如下所示:
lebnassvm0a-drt lebnassvm0a-dr test1 /vol/test1
lebnassvm0a-drt lebnassvm0a-dr test2 /test2
lebnassvm0a-drt lebnassvm0a-dr test3 /test3
stgtestsvm1-drt stgtestsvm1-dr test21 /test21
stgtestsvm1-drt stgtestsvm1-dr test22 /test22
stgtestsvm1-drt stgtestsvm1-dr test23 /test23
我会做什么:
正则表达式匹配如下:
^
(
[^-]+
-
(1 次或多次(匹配尽可能多的次数))-dr
)
这可能对你有用(GNU sed):
将第一个以它自身结尾的非空白字符串替换
-dr
为后面跟着一个t
空格和原始字符串。