linux - 用 sed 注释掉/注释
问题描述
在我的 nginx 配置文件中,我有以下几行:
location / {
try_files $uri $uri/ =404;
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
}
现在,我想以编程方式注释掉/取消注释这两行:
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
所以我想到sed
并在这里找到了这篇文章:
https ://stackoverflow.com/a/27355109
不幸的是,我无法让它工作。转义字符可能存在问题。有人可以帮忙吗?
解决方案
要注释掉这些行,请使用命令
sed \
-e 's|auth_basic "Restricted Content";|# \0|' \
-e 's|auth_basic_user_file /etc/nginx/.htpasswd;|# \0|' \
your_file
要取消注释,请使用:
sed \
-e 's|# \(auth_basic "Restricted Content";\)|\1|' \
-e 's|# \(auth_basic_user_file /etc/nginx/.htpasswd;\)|\1|' \
your_file
推荐阅读
- reactjs - AWS AppSync + React-Apollo Query/useQuery 引发异常 this.currentObservable.query.getCurrentResult 不是函数
- plot - 如何从 Prophet.plot_components() 中提取 xy 数据
- string - 如何从字符串创建 XSL 节点集
- ios - 核心数据:如何测试 NSManagedObjectContext 合并策略
- jenkins - 如何在 consul 中添加服务 - 使用 groovy jenkins 管道
- java - 如何将日历转换为带时区的 XML 日期格式?
- python - 在无头状态下发生 Python Selenium 错误?
- c - 尝试重新排序链表时 free() 无效
- javascript - getElementById(...) 为 null - 具有 2 个变量的函数
- kotlin - 如何在 Kotlin 中将可变数量的函数作为参数传递?