shell 去除空行

最近要查看的日志文件提取后有很多空行,不利于以前的文件可以进行比较了,为了向下兼容,只能取得时候把空行删除掉。自己google了一下,用了grep方法,效率还是挺快的,25000+行中73行空行,瞬间搞定,应该可以接手。
方法一:(我就是用的这个)
 grep -v "^$" file 去除匹配的空行
另外在排查找错的时候也利用grep 查看那几行是空行,从而从原来的日志文件查看那几行为什么没有该信息,
加参数 -n grep -n "^$" file 即可找到空行再去原日志文件查看信息。

方法二:用tr命令
cat 文件名 |tr -s ‘\n‘

方法三:用sed命令
cat 文件名 |sed ‘/^$/d‘

方法四:用awk命令
cat 文件名 |awk ‘{if($0!=”")print}‘
cat 文件名 |awk ‘{if(length !=0) print $0}‘

时间: 2024-10-04 13:51:37

shell 去除空行的相关文章

Shell去除空格和空行的方法

一.去除空行的方法 有时我们在处理和查看文件时,经常会有很多空行,为了美观或是有需要时,就有必要把这些除行去掉了,方法如下: 1)用tr命令 复制代码 代码如下: cat 文件名 |tr -s '\n' 2)用sed命令 复制代码 代码如下: cat 文件名 |sed '/^$/d' 3)用awk命令 复制代码 代码如下: cat 文件名 |awk '{if($0!="")print}'cat 文件名 |awk '{if(length !=0) print $0}' 4)用grep命令

正则表达式之去除空行

在Linux中搭建服务的时候难免要查看配置文件,一般包含#号的行都是不会被执行的 故我们在查看配置文件的时候,特别的配置文件较长的时候,要用到正则表达式 [[email protected] code]# more my.cnf # For advice on how to change settings please see # http://dev.mysql.com/doc/refman/5.6/en/server-configuration-defaults.html [mysqld]

jsp去除空行的web.xml配置

在jsp中我们引入的标签,例如jstl的标签,循环遍历等等,可能会产生很多空行,其实也没什么,不会影响展示,但是空行多多少少会影响性能,这是我们只需要在web.xml中配置一下我们就可以很简单的去掉,配置如下: <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <trim-directive-whitespaces>true</trim-directive-

Linux shell去除字符串中所有空格

Linux shell去除字符串中所有空格 echo $VAR | sed 's/ //g' 原文地址:https://www.cnblogs.com/yjd_hycf_space/p/9839494.html

shell去除换行和空格2

#!/bin/bash if [ -f str.txt ] ## 如果str.txt存在,则返回true then strval=$(cat str.txt|awk '{printf "%s ",$1}'|sed 's/ //g') ## 使用awk去除换行,使用sed去除空格 if [ "" == "$strval" ] ## 判断文件是否为空 then echo "empty" elif [ "all"

DataTable 整行为空时,去除空行,常用于Excel导入,转换为DataTable时出现

protected void RemoveEmpty(DataTable dt) { List<DataRow> removelist = new List<DataRow>(); for (int i = 0; i < dt.Rows.Count; i++) { bool IsNull = true; for (int j = 0; j < dt.Columns.Count; j++) { if (!string.IsNullOrEmpty(dt.Rows[i][j]

去除文本多余空行

1.读取文件: OpenFileDialog dialog=new OpenFileDialog(); dialog.InitialDirectory = Application.StartupPath; dialog.Filter = "All Files|*.*|text file(*.txt)|*.txt"; dialog.RestoreDirectory = true; if (dialog.ShowDialog() == DialogResult.OK) { string f

Shell数值操作

1.计算的数值的五种方法: ((i++)) let i++ i=$(expr $i + 1) i=$(echo $i+1|bc) i=$(echo $i 1|awk '{printf $1+$2}')   2.time命令用来统计命令的执行时间,这部分时间包括总的运行时间,用户空间 执行时间,内核空间执行时间,它通过ptrace系统调用实现.   3.取模使用符号%,而求幂只有bc使用的符号为^,其他命令使用的符号均为**.   4.bc程序是Linux下的计算器,可以用来计算进制转换.例如:

linux shell脚本编写

大家好 这是一篇自己阅读.学习的shell编程,工作中大量应用,尤为awk.sed.grep为主.希望对大家速成有用 可以直接翻看到中部位置 [data] export PATH=/mall/jdk/jdk1.7/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin export LANG=zh_CN.GB18030 start=`date +%s -d "2011-11-28 15:55:37&qu