作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在整理一些 Bash 配置脚本来配置 Linux 服务器,我希望能够对文件中所有未注释的行进行注释,但保留空白/空行完好无损。
使用 the great answer to this question我能够想出这个 Sed one liner,效果很好:
sed -e '/^#/!s/\(.*\)/# \1/g' /etc/update-motd.d/90-updates-available
当然,当我在生产设置上运行此 Sed 命令时,-e
将与 -i
交换以将文件写入到位,但无论如何内容该文件成功被注释掉,如下所示:
#!/bin/sh
#
# if [ -x /usr/lib/update-notifier/update-motd-updates-available ]; then
# exec /usr/lib/update-notifier/update-motd-updates-available
# fi
但理想情况下,我希望输出是这样的;注意一个空白/空行是如何保持不变的。:
#!/bin/sh
# if [ -x /usr/lib/update-notifier/update-motd-updates-available ]; then
# exec /usr/lib/update-notifier/update-motd-updates-available
# fi
在 Sed 中有什么方法可以做到这一点吗?
最佳答案
这个怎么样:
sed -e 's/^\([^#].*\)/# \1/g' /etc/update-motd.d/90-updates-available
关于linux - 如何使用 Sed 仅注释掉未注释的行并 100% 完整保留空白/空行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34982602/
我正在编写一个快速的 preg_replace 来从 CSS 中删除注释。 CSS 注释通常有这样的语法: /* Development Classes*/ /* Un-comment me for
使用 MySQL,我有三个表: 项目: ID name 1 "birthday party" 2 "soccer match" 3 "wine tasting evening" 4
我是一名优秀的程序员,十分优秀!