千家信息网

shell如何去掉文件中空行

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍了shell如何去掉文件中空行,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。本节内容:shell去掉文件中空行1,sh
千家信息网最后更新 2026年11月03日shell如何去掉文件中空行

这篇文章主要介绍了shell如何去掉文件中空行,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

本节内容:
shell去掉文件中空行

1,shell 去掉文件中的空行

代码如下:

cat filename | sed -e '/^$/d' > filename

2,保留最新的9个文件,其它的文件删除的命令语句

代码如下:

ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f

附,shell中的特殊变量

$$
Shell本身的PID(ProcessID)
$!
Shell最后运行的后台Process的PID
$?
最后运行的命令的结束代码(返回值)
$-
使用Set命令设定的Flag一览
$*
所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
$@
所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
$#
添加到Shell的参数个数
$0
Shell本身的文件名
$1~$n
添加到Shell的各参数值。$1是第1参数、$2是第2参数…
判断 test
test -f 是否参在并是文件
-d 是否参在并是目录
-e 文件是否存在

man test

判断7种文件类型

test -f $1 && cat $1普通文件
test -d $1 && ls -ld $1目录
test -L $1 && ls -ld $1连接文件
test -p $1 && ls -ld $1管道文件
test -S $1 && ls -ld $1套接字
test -b $1 && ls -ld $1块设备
test -c $1 && ls -ld $1字符设备

下面举几个例子吧,供大家学习参考。

1,比较数字大小

代码如下:


#!/bin/bash
test $1 -gt $2 && echo $1
test $1 -lt $2 && echo $2
test $1 -eq $2 && echo $1=$2

2,判断字符串

代码如下:


#!/bin/bash
test $1 != $2 && echo 不相等
test $1 = $2 && echo $1=$2

3,组合判断
1)、

代码如下:


#!/bin/bash
test $1 -gt 5 -a $1 -lt 10 && echo $1
if
#!/bin/bash
if test $1 -gt 5(或if [ $1 -gt 5 ]注意空格)
then
echo $1
fi

2)、

代码如下:


#!/bin/bash
ping -c 1 -W 1 192.168.0.$1 &>/dev/null (-c 1表示ping一次,-W目标主机不可达超时为1秒)
if [ $? -eq 0 ]
then
echo link OK
esle
echo link no
fi

SHELL 删除文件中的空行或者空白行二:

今天发现有个文件中空行太多了 ,打算删除其中的空行。

于是使用sed, 查了下命令,这么写:

sed '/^$/d' file1

发现仍然输出内容仍然有一大堆空行,真是莫名其妙。

于是:sed '/^$/p' file1 发现输出的空行很少,而实际上是很多空行的呀。

于是使用 cat -A file1

才发现,原来很多行里出现空格字符,导致正则并不识别它是空行

于是修改为: sed '/^ *$/d' file1 这下就OK啦

另外要注意在windows 下换行符是^M$

而在 LINUX下是 $,如果是WINDOWS下的文件的话需要转换一下,使用doc2unix好像是这个工具吧。

Linux 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}'

感谢你能够认真阅读完这篇文章,希望小编分享的"shell如何去掉文件中空行"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

文件 空行 参数 代码 命令 文件名 方法 篇文章 输出 字符 日志 信息 内容 形式 情况 时候 目录 空格 设备 参考 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网络科技有限公司 平安科技 互联网 猪兼强互联网科技 盛创互联网科技有限公司 中国最先进互联网科技公司 开启互联网科技时代小说 欧洲十大科技互联网公司 阿里互联网科技公司 汽车互联网创新科技园 江阴互联网智能科技产品进口 互联网媒体平台算高科技产业 电子科技大学互联网创业大赛 电子商务与互联网科技的关系 中国科技和美国互联网 恒生科技指数 中概互联网 亚光科技低轨卫星互联网 平安好医生打造互联网科技医疗 互联网的黑科技实验室 利用互联网等科技手段 山东亿川互联网科技有限责任公司 精品咖啡豆 互联网医疗科技 新华互联网科技2019 中国互联网有什么科技含量 互联网科技公司实习生 国大互联网教育科技有限公司工作 工业互联网山东科技大学 广州智享互联网科技 互联网科技收购价值 互联网科技快速发展优美句子
0