我需要编辑以下文件中 [token]
部分的提供程序行:
$ cat test.txt
[test]
#provider = keystone.token.providers.uuid.Provider
#driver = keystone.token.persistence.backends.sql.Token
#caching = true
#cache_time = <None>
[token]
#provider = keystone.token.providers.uuid.Provider
#driver = keystone.token.persistence.backends.sql.Token
#caching = true
#cache_time = <None>
[trust]
#provider = keystone.token.providers.uuid.Provider
#driver = keystone.token.persistence.backends.sql.Token
#caching = true
#cache_time = <None>
我试过:
sed -e '/^\[token\]/s/^\#provider.*/provider = keystone.token.providers.uuid.Provider/' test.txt
但是没有对文件进行任何更改。
如何更改我的脚本以编辑正确的部分?
最佳答案
即使是 awk 也更容易理解,但是在 sed 中
sed -i.bak '/\[token\]/,+2 s/#//' test.txt
使用 ,+2 可以在范围内添加 +2 行
关于linux - 需要在 linux 中使用 sed 编辑文件中特定部分的一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30726977/