一、说明

在某些场景下我们想要将旧文件中空行和注释行过滤掉,将产生实际效果的行保留。

比如redis提供的配置示例文件中有很多用于说明的空行和注释行,我们想把产生实际效果的配置行筛选出来组成新的简洁的配置文件。

二、命令

grep -Ev "^$|#" old_file_name > new_file_name

grep--过滤命令

-E--使用正则表达示进行匹配

-v--剔除匹配的项(默认是筛选匹配的项)

^--开头匹配

$--$代表行尾,^$即开头为结尾的行,即空行

|--正则中的或运算

#--^#表示#开头的行,即注释行

old_file_name--要对其内容进行过滤的文件

new_file_name--过滤出的内容保存到的文佧

三、示例

参考:

https://www.zhihu.com/question/19795238

linux过滤旧文件中的空行和注释行剩余内容组成新文件的更多相关文章

  1. .NET Core中复制源文件夹下的所有内容到新文件夹

    .NET Core中没有原生的复制文件夹方法,我们可以自己写个: 新建一个.NET Core控制台项目,示例代码如下: using System; using System.IO; namespace ...

  2. Linux 在文档中查找满足条件的行并输出到文件:

    Linux 在文档中查找满足条件的行并输出到文件: 文件名称: dlog.log    输出文件: out.log 1.满足一个条件(包含  “TJ”  )的语句: grep  “TJ”  dlog. ...

  3. Shell 从日志文件中选择时间段内的日志输出到另一个文件

    Shell 从日志文件中选择时间段内的日志输出到另一个文件 情况是这样的,某系统的日志全部写在一个日志文件内,所以这个文件非常大,非常长,每次查阅的时候非常的不方便.所以,相关人员希望能够查询某个时间 ...

  4. 在头文件中声明class 类 与 include类所在的头文件区别---理解

    在头文件中声明class 类 与 include类所在的头文件的理解: 在头文件中,声明类 它告诉编译器:存在这样的类.而实际的类则可以位于同一个编译单元中,也可以放在其他编译单元中.没有这个类原型, ...

  5. java算法面试题:编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔。

    package com.swift; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File ...

  6. 标准IO ——将A文件fpd第3个字节之后的内容复制到文件fps

    /* *使用标准IO ——将A文件fpd第3个字节之后的内容复制到文件fps 流程: 1.创建两个流,链接目标文件和源文件 2.输入流的基准点偏移四个单位然后输入缓冲区 3.输出流读取缓冲区数据送入文 ...

  7. python 判断是否是空行或注释行

    #coding:utf-8 '''''cdays-4-exercise-6.py 文件基本操作 @note: 文件读取写入, 列表排序, 字符串操作 @see: 字符串各方法可参考hekp(str)或 ...

  8. [Linux] sed命令使用之在文件中快速删除/增加指定行

    1.删除文档的第一行 sed -i '1d' <file> 2.删除文档的最后一行sed -i '$d' <file> 3.在文档指定行中增加一行例如文档如下:echo &qu ...

  9. java简单统计.java文件中的有效代码行,空行,注释行

    package regxdemo; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundExc ...

随机推荐

  1. vue--vuex

    https://vuex.vuejs.org/ vuex是专为 vue.js 应用程序开发的 状态管理模式 采用集中式存储管理应用的所有组件状态 并以相应的规则保证状态以一种可预测的方式发生变化 vu ...

  2. BZOJ 4591 【SHOI2015】 超能粒子炮·改

    题目链接:超能粒子炮·改 这道题的大体思路就是用\(lucas\)定理,然后合并同类项,就可以得到一个可以递归算的式子了. 我们用\(S(n,k)\)表示答案,\(p\)表示模数(\(2333\)是一 ...

  3. C#:MVC打印PDF文件

    在百度上找了许多PDF文件打印,但是符合我需求的打印方式还没看到,所以根据看了https://www.cnblogs.com/TiestoRay/p/3380717.html的范例后,研究了一下,做出 ...

  4. VirtualBox--虚拟机网络设置1--(四种方式)

    转载自:https://www.douban.com/group/topic/15558388/ VirtualBox的提供了四种网络接入模式,它们分别是: 1.NAT 网络地址转换模式(NAT,Ne ...

  5. SpringBoot配置Aop demo

    1. Demo部分 package com.example.demo.controller; import org.springframework.web.bind.annotation.Reques ...

  6. mysql利用navicat导出表结构和表中数据

    LZ在网上搜索了要如何导出mysql的表结构和表中数据,发现有的方法不好用 记录一下好用的方式: 用navicat打开DB链接后,点击数据库,右击选择转储SQL文件,然后选择结构和数据: 之后弹出新的 ...

  7. yum节省安装时间

    yum install java-1.8.0-openjdk 安装jdk yum install tomcat 安装tomcat wget http://repo.mysql.com/mysql-co ...

  8. Qt5文件操作_保存成"UTF-8"格式

    1. bool TdrawSvg::Save2File(char* _pcFullFileName) { // http://blog.csdn.net/u011314012/article/deta ...

  9. [原][粒子特效][spark]调节器modifier

    深入浅出spark粒子特效连接:https://www.cnblogs.com/lyggqm/p/9956344.html group添加modifier的方式: modifier An abstra ...

  10. tips 移入悬浮功能

    前景: 页面部分区域需要移入悬浮效果,当然默认的 title 也是可以的,最多只是格格不入,但是却是最为靠谱的.. 思路: 基于 jq 实例扩展 .使用立即执行函数保持功能独立. 自定义类实现功能封装 ...