一、说明

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

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

二、命令

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

grep--过滤命令

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

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

^--开头匹配

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

|--正则中的或运算

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

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

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

三、示例

grepl函数去除字符 grep去除空行和注释行_触发器

参考:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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