优秀的编程知识分享平台

网站首页 > 技术文章 正文

Linux 批量删除配置文件注释行和空行,grep和sed

nanyue 2024-09-21 19:49:35 技术文章 5 ℃

方法一: grep

server.conf文件为例

  • 删除以#开头的行,grep显示以#开头的行("^#"),然后 -v 取反,则显示去掉以#开头的行
grep -v "^#" server.conf
  • 删除空行,grep显示空行("^#34;),然后 -v 取反,则显示去掉空行的行
grep -v "^#34;
  • 同时去掉空行和注释行,更改则需重写至其他文档如test.conf
grep -v "^#" server.conf | grep -v "^#34; >> test.conf

方法二: sed

以server.conf文件为例,加参数 -i 写入更改文件,不加则预览显示

  • 找到以#开头的行(^#)并用参数 d 删除,,以下两种都可以。
sed '/^#/d' server.conf
sed '/#/d' server.conf
  • 找到空行(^$)的行,用参数 d 删除,并显示
sed '/^$/d' server.conf
  • 删除注释行和空行,并更改写入文件
sed -i -e '/#/d;/^$/d' server.conf

注:这里一定要用 -e,否则会出现 unterminated substitute pattern

Tags:

最近发表
标签列表