文件中的文本如下所示:
[homes]
comment = Home Directories
path =
browseable =
writable = yes
valid users = %S
valid users = MYDOMAIN\%S
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
我希望输出为:
[homes]
comment = Home Directories
path = /data
browseable = yes
writable = yes
valid users = %S
valid users = MYDOMAIN\%S
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
我正在使用这个命令:
sed -i "\#path# s#.*#& /data#" file
它对路径所在的文件中的所有位置进行更改。
谁能帮我解决这个问题?
最佳答案
sed '/path[ ]*=[ ]*$/s#$#/data#'
在结束行之前有 path =
且有任意数量的空格的行上,将结束行 $
替换为您的替换字符串。
关于linux - 使用 sed 命令插入一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46302310/