gpt4 book ai didi

regex - 更改匹配行中的单词

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:47:28 24 4
gpt4 key购买 nike

我尝试搜索和替换单词,但仅限于包含模式的行。对于我的情况,它是一个/etc/fstab 文件,我想将 ro 标志修改为 rw 但仅针对某些特定共享。

这是我的 NFS 共享的样子:

servername1:/path/to/share1 /nfs/mount1 nfs ro,nosuid,soft,vers=3   0 0
servername2:/path/to/share1 /nfs/mount2 nfs ro,nosuid,soft,vers=3 0 0
servername1:/path/to/share2 /nfs/mount3 nfs ro,nosuid,soft,vers=3 0 0

我想将其更改为: servername1:/path/to/share1/nfs/mount nfs rw,nosuid,soft,vers=3 0 0

但只针对特定的服务器而共享。我试过这个:

sed '/servername1.*share1 s/ro/rw' fstab

但是没有用。那么我应该使用哪个正则表达式来实现我的目标?

谢谢

最佳答案

你可以使用这个sed:

sed '/^servername1.*share1/s/ro,/rw,/' fstab

输出:

servername1:/path/to/share1 /nfs/mount1 nfs rw,nosuid,soft,vers=3 0 0
servername2:/path/to/share1 /nfs/mount2 nfs ro,nosuid,soft,vers=3 0 0
servername1:/path/to/share2 /nfs/mount3 nfs ro,nosuid,soft,vers=3 0 0

关于regex - 更改匹配行中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35464110/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com