我的编程空间,编程开发者的网络收藏夹
学习永远不晚

shell去掉文件中空行(空白行)的方法详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

shell去掉文件中空行(空白行)的方法详解

本文详细介绍了使用shell去除文件中的空行的方法,学习下sed、awk、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}'

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

shell去掉文件中空行(空白行)的方法详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

shell去掉文件中空行(空白行)的方法详解

本文详细介绍了使用shell去除文件中的空行的方法,学习下sed、awk、shell文件检测的方法,有需要的朋友可以作个参考。本节内容:shell去掉文件中空行 1,shell 去掉文件中的空行 cat filename | sed -e
2022-06-04

shell如何去掉文件中空行

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

Shell去除空行的4种方法

有时我们在处理和查看文件时,经常会有很多空行,为了美观或是有需要时,就有必要把这些除行去掉了,方法如下: 1)用tr命令cat 文件名 |tr -s ‘n'2)用sed命令cat 文件名 |sed ‘/^$/d'3)用awk命令cat 文件
2022-06-04

利用java如何去掉文本中的空格与空行

本篇文章为大家展示了利用java如何去掉文本中的空格与空行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。需求按照如下要求处理字符串字符串中连续的空格数不能大于5,大于5时只保留5个字符串中含有的连续
2023-05-31

linux中去掉文件重复数据行的方法

本篇内容主要讲解“linux中去掉文件重复数据行的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中去掉文件重复数据行的方法”吧!一、去掉相邻重复的数据行代码如下:$cat data
2023-06-13

Linux中删除文件内空行的4种方法

在Linux上处理一些数据文件时,有时候需要将其中的空行过滤掉,系统中提供的各种工具都可以完成这个功能。将常用的介绍如下吧:1. grep grep . data.txtgrep -v '^$' data.txtgrep '[^$]' da
2022-06-04

python去除文件中空格、Tab及回车的方法

本文实例讲述了python去除文件中空格、Tab及回车的方法。分享给大家供大家参考,具体如下: 在最近的开发工作中,为了应付比赛赶进度,服务端的json文件都是人工写的,写完之后发现格式都是十分规整,易于人阅读的json,但是客户端请求不需
2022-06-04

Win10资源管理器内一片空白的可行解决方法

Win10自最初的技术预览版推出以来,资源管理器一直面临着不小的争议。默认的界面变成了全新js推出的主页,这编程或许还能适应,不过倘若打开后里面一片空白,那该如何是好?  操作步骤第一步、打开运行命令,在里面输入“regedit
2023-06-09

shell中删除文件中重复行的方法

Linux下文本处理工具很丰富很强大,例如这样一个文件: cat log www.lsjlt.com 192.168.1.1www.lsjlt.com 192.168.1.1www.lsjlt.com 192.168.1.2ffffffff
2022-06-04

在将文本文件导入 MySQL 表时,MySQL 如何评估文本文件中写入的两行之间的空白行?

假设如果文本文件中写入的两行之间有一个空行,那么在将该文本文件导入 MySQL 表时,MySQL 会将其评估为数据行。可以通过以下示例来理解 -示例假设我们在名为“A.txt”的文本文件中的两行之间有一个空行,如下所示 - 105,Chum
2023-10-22

利用Shell脚本循环读取文件中每一行的方法详解

前言 本文主要给大家介绍了关于使用Shell脚本循环读取文件每一行的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、使用for循环for line in `cat filename` doecho $line
2022-06-04

用cmd命令行编译运行Java文件的方法详解

在windows下利用cmd命令行,可以调用jdk里的javac.exe和java.exe,从而对java文件进行编译和执行,前提是jdk已成功安装并正确配置相关环境变量。下面,我们一起学习如何用cmd命令行编译运行一个Java程序。1、在windows下利用
用cmd命令行编译运行Java文件的方法详解
2019-05-06

Python打包可执行文件的方法详解

本文实例讲述了Python打包可执行文件的方法。分享给大家供大家参考,具体如下: Python程序需要依赖本机安装的Python库,若想在没有安装Python的机器上运行,则需要打包分发,目前有两个比较好用的工具:PyInstaller和p
2022-06-04

详解在Linux中清空或删除大文件内容的5种方法

有时,在处理linux终端中的文件时,您可能希望清除文件的内容,而无需使用任何Linux命令行编辑器打开它。怎么能实现这一目标?在本文中,我们将借助一些有用的命令,通过几种不同的方式清空文件内容。 警告:在我们继续查看各种方法之前,请注意,
2022-06-04

shell 随机从文件中抽取若干行的实现方法

shuf -n5 main.txt sort -R main.txt | head -5 awk -vN=5 -vC="`wc -l file`" 'BEGIN{srand();while(n
2022-06-04

Shell脚本一次读取文件中一行的方法有哪些

这篇文章主要讲解了“Shell脚本一次读取文件中一行的方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell脚本一次读取文件中一行的方法有哪些”吧!写法一:代码如下:#!/bin
2023-06-09

Shell脚本中多命令逻辑执行顺序的方法详解

linux中可以使用分号“;”、双and号“&&”和双竖线“||”来连接多个命令。单"&"符号也算命令连接符号,只不过它是将其前面的命令放入后台执行,所以可以变相地实现命令并行执行。 1.分号";" command1 ; command2
2022-06-04

编程热搜

目录