在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
本文详细介绍了使用shell去除文件中的空行的方法,学习下sed、awk、shell文件检测的方法,有需要的朋友可以作个参考。 1,shell 去掉文件中的空行 复制代码 代码如下: cat filename | sed -e '/^$/d' > filename
2,保留最新的9个文件,其它的文件删除的命令语句 复制代码 代码如下: ls -t | awk '{if(NR>9){print $0}}' |xargs rm -f
附,shell中的特殊变量 man test 判断7种文件类型 下面举几个例子吧,供大家学习参考。 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,组合判断 复制代码 代码如下: #!/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行空行,瞬间搞定,应该可以接手。
|
请发表评论