位置: 编程技术 - 正文
本文详细介绍了使用shell去除文件中的空行的方法,学习下sed、awk、shell文件检测的方法,有需要的朋友可以作个参考。本节内容:shell去掉文件中空行
1,shell 去掉文件中的空行
2,保留最新的9个文件,其它的文件删除的命令语句
附,shell中的特殊变量$$Shell本身的PID(ProcessID)$!Shell最后运行的后台Process的PID$?最后运行的命令的结束代码(返回值)$-使用Set命令设定的Flag一览$*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。$@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。$#添加到Shell的参数个数$0Shell本身的文件名$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,比较数字大小
2,判断字符串
3,组合判断 1)、
2)、
SHELL 删除文件中的空行或者空白行二:
今天发现有个文件中空行太多了 ,打算删除其中的空行。
于是使用sed, 查了下命令,这么写:
sed '/^$/d' file1
发现仍然输出内容仍然有一大堆空行,真是莫名其妙。
于是:sed '/^$/p' file1 发现输出的空行很少,而实际上是很多空行的呀。
于是使用 cat -A file1
才发现,原来很多行里出现空格字符,导致正则并不识别它是空行
于是修改为: sed '/^ *$/d' file1 这下就OK啦
另外要注意在windows 下换行符是^M$
而在 LINUX下是 $,如果是WINDOWS下的文件的话需要转换一下,使用doc2unix好像是这个工具吧。
Linux shell 删除文件空行三:
最近要查看的日志文件提取后有很多空行,不利于以前的文件可以进行比较了,为了向下兼容,只能取得时候把空行删除掉。自己google了一下,用了grep方法,效率还是挺快的,+行中行空行,瞬间搞定,应该可以接手。 方法一:(我就是用的这个) 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去掉文件中空行(空白行)的方法详解(shell去掉\r),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:shell 删除文件内容,shell去掉指定字符,shell去掉文件中的大括号,shell去掉\r,shell去掉文件中的大括号,shell去掉文件后缀,shell去掉文件中的空格,shell去掉文件中的空格,内容如对您有帮助,希望把文章链接给更多的朋友!
Linux shell脚本全面学习入门 1.Linux脚本编写基础1.1语法基本介绍1.1.1开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh符号#!用来告诉系统它后面的参数是用来执行该
Hadoop单机版和全分布式(集群)安装 Hadoop,分布式的大数据存储和计算,免费开源!有Linux基础的同学安装起来比较顺风顺水,写几个配置文件就可以启动了,本人菜鸟,所以写的比较详细
linux bash中too many arguments问题的解决方法 判断一个文件的内容是不是为空,使用语句:iftest-z`catfilename`当filename为空或者只有一行没有空格的字符串的时候,一切正常,反之,则会报:toomanyargum
标签: shell去掉\r
本文链接地址:https://www.jiuchutong.com/biancheng/376759.html 转载请保留说明!友情链接: 武汉网站建设