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命令

复制代码 代码如下:

grep -v “^$” 文件名

二、去除空格的方法

下面介绍sed是怎样实现的,当然awk同样可以。

1、删除行首空格

复制代码 代码如下:

sed ‘s/^[ \t]*//g‘

说明:

第一个/的左边是s表示替换,即将空格替换为空。
第一个/的右边是表示后面的以xx开头。
中括号表示“或”,空格或tab中的任意一种。这是正则表达式的规范。
中括号右边是*,表示一个或多个。

第二个和第三个\中间没有东西,表示空

g表示替换原来buffer(缓冲区)中的,sed在处理字符串的时候并不对源文件进行直接处理,先创建一个buffer,但是加g表示对原buffer进行替换

整体的意思是:用空字符去替换一个或多个用空格或tab开头的本体字符串

2、删除行末空格

复制代码 代码如下:

sed ‘s/[ \t]*$//g‘

和上面稍微有些不同是前面删除了^符,在后面加上了美元符,这表示以xx结尾的字符串为对象。

但是要注意在KSH中,Tab并不是\t而是直接打入一个Tab就可以了。

3、删除所有的空格

复制代码 代码如下:

sed s/[[:space:]]//g

时间: 2024-12-24 18:21:59

Shell去除空格和空行的方法的相关文章

dreamweaver批量去除空格,空行

制作网店的时候,发现有空行,或者空格.如果数量比较少,可以手动清除.如果多的话,可以使用dreamweaver批量去除.方法如下: 第一步,用正则表达式删除所有空白行(其实这一步不一定要做,我只是为了规范和节省代码) 要把 \n[\s| ]*\r 全部替换为 \n 第二步,用正则表达式删除首尾空白行(这一步必须做,就是删除产生错误的输出.) ^[\s| ]*\n|\n[\s| ]*$ 全部替换为 (此处为空,不用添加任何字符串)

处理字符串的一些js/jq方法(去除HTML,去除空格,计算真实长度,截取中英文字符)

stringObject.replace(regexp,replacement) regexp 必需.规定了要替换的模式的 RegExp 对象.请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象.replacement 必需.一个字符串值.规定了替换文本或生成替换文本的函数. 去除html标签:function del_html_tags(str){    var words = '';    words = str.replace(/<[^>

js去除空格12种方法

注:本文转载于csdn:黄卉博主的文章<js去除空格12种方法> 实现1 1 String.prototype.trim = function() { 2 return this.replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 3 } 看起来不怎么样, 动用了两次正则替换,实际速度非常惊人,主要得益于浏览器的内部优化.一个著名的例子字符串拼接,直接相加比用Array做成的StringBuffer 还快.base2类库使用这种实现.实现2 1 Strin

shell 去除空行

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

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"

ThinkPHP去掉html中的空格和换行的方法(转:http://www.111cn.net/phper/thinkPhp/91462.htm)

在thinkphp3.2.2中,出现这样一个问题:无法删除模板中的空格和换行,我们现在就来分享这个问题的解决方法,然后再补充其他的php清除空白行和换行的实例. 在thinkphp3.2.2中有无法删除模板中的空格和换行的问题: 即使配置了 'TMPL_STRIP_SPACE' => true 也是不起效的. 原因:在ThinkPHP\Library\Think\Template.class.php 文件,compiler方法少了以下的一段代码导致的: if(C('TMPL_STRIP_SPAC

shell编程基础一(多种方法求值1+2+..+100)

#SHELL编程基础一(多种方法求值1+2+..+100)##为什么要学好shell shell脚本语言是实现linux系统管理及自动化运维所必备的重要工具,linux系统的底层及基础应用软件的核心大都涉及shell脚本的内容. 每一个合格的linux系统管理员或运维工程师,都需要能够熟练地编写shell脚本语言,并能够阅读系统及各类软件附带的shell脚本内容. 只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的工作,从而为个人的职场发展奠定较好的基础.# 本文的宗旨是熟

HTML代码中的空格和空行

HTML 代码中的所有连续的空格或空行(换行)都会被显示为一个空格. 例子1:(文本内容中的连续空格) 代码 <p>这段文本中,输入连续的空格 大概输入了十个.</p> 显示效果:“格”和“大”之间的是个空格显示出来只是一个空格. 这段文本中,输入连续的空格 大概输入了十个. 例子2:(代码之间的连续空格) 代码 <span>span是一个行内标签</span> <span>和前面的span元素之间隔了很多个空格</span> 显示效