Linux空白行:行号显示、空白行数统计、删除空白行
来源:互联网 发布:mac银河雪山 编辑:程序博客网 时间:2024/06/06 00:33
这里的空白行,泛指只有一个换行符的行。
grep '^$' count.sh | wc -l
cat count.sh |tr -s '\n'
awk '{if($0!="")print}' count.sh
awk '{if(length($0)!=0) print $0}' count.sh
awk '!/^$/ {print $0}' count.sh
awk 'length($0) > 0 {print $0}' count.sh
awk 'BEGIN{RS="\n+";ORS="\n"}{print}' count.sh
awk 'BEGIN{RS="\n+"}{print}'
空白行的行号显示:
cat -b 选项,可以不在空行前面加行号。nl命令也能实现类似的效果:root@db2a:/tmp# cat -b count.sh 1 #!/bin/bash 2 for i in u g o a 3 do 4 for j in + - = 5 do 6 for k in w r x 7 do 8 echo "chmod $i$j$k filename" 9 done 10 done 11 doneroot@db2a:/tmp# nl count.sh 1 #!/bin/bash 2 for i in u g o a 3 do 4 for j in + - = 5 do 6 for k in w r x 7 do 8 echo "chmod $i$j$k filename" 9 done 10 done 11 done
统计空白行数:
可以对比下cat -b和cat -n输出中,最后一行的编号,两者之差即为空白行的行数,也可以使用grep命令:grep '^$' count.sh | wc -l
删除空白行:
方法一: 使用grep命令
grep -v '^$' count.sh方法二:使用tr命令
巧妙利用了squeeze-repeats选项,上一行的换行符和空白行的换行符缩减为一个换行符cat count.sh |tr -s '\n'
方法三:使用sed命令
sed '/^$/d' count.sh方法四:使用awk命令
主要是判断下,某一行是否为空,或者长度是否为0,如果是的话,就不要打印。awk '{if($0!="")print}' count.sh
awk '{if(length($0)!=0) print $0}' count.sh
awk '!/^$/ {print $0}' count.sh
awk 'length($0) > 0 {print $0}' count.sh
awk 'BEGIN{RS="\n+";ORS="\n"}{print}' count.sh
awk 'BEGIN{RS="\n+"}{print}'
附:cat 的-s选项可以将多个空行squeeze成一个空行
阅读全文
0 0
- Linux空白行:行号显示、空白行数统计、删除空白行
- Notepad++删除空白行
- PHP删除空白行
- 删除Excel 空白行
- Vs2010删除空白行
- Ultraedit删除空白行
- 删除空白行
- VS删除空白行
- VS删除空白行
- 正则表达式统计代码行数,注释行,空白行
- linux下删除空白行命令
- 空白行
- vim 删除多余空白行
- 删除空白的代码行
- Excel批量删除空白行
- sed删除连续空白行
- 空白
- 空白
- ARCGIS地理信息系统学习笔记001--认识ARCGIS
- MySQL binlog相关分析
- UGUI 动态切换Sprite
- ARM学习之时钟体系结构
- sql 连接小计
- Linux空白行:行号显示、空白行数统计、删除空白行
- Codeforces Round #428 (Div. 2) 题解(ABC)
- [Spring Boot] 3. Spring Boot实现自动配置的基础
- 使用CSDN-markdown编辑器以及markdown语法
- stringbuffer与stringbuilder的区别
- 跨域问题
- Git学习心得
- Object
- 原生Android项目中集成react-native以及jpush-react-native(极光推送)