示例: 文件包含以下内容:
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
我会做什么:
$ sed -E 's/^([^-]+-dr)/\1-drt \1/' file
lebnassvm0a-dr-drt lebnassvm0a-dr test1 /vol/test1
lebnassvm0a-dr-drt lebnassvm0a-dr test2 /test2
lebnassvm0a-dr-drt lebnassvm0a-dr test3 /test3
stgtestsvm1-dr-drt stgtestsvm1-dr test21 /test21
stgtestsvm1-dr-drt stgtestsvm1-dr test22 /test22
stgtestsvm1-dr-drt stgtestsvm1-dr test23 /test23