vim下删除空行可以真正修改文件,但是用于大容量文件时很慢,而且也不知道何时修改完成;

其他方法只是可以显示删除空行后的内容,而不改变文档内容,若要保存修改后的结果需在file后加上>newfilename。

在查看linux下的配置文件时,为了便于一目了然的查看,经常会删除空行和#头的行。而linux在删除空行的方法很多,grep、sed、awk、tr等工具都能实现。现总结如下:

^代表行开头,\转义  *重复匹配  $代表行尾 d删除 \s是空白匹配  *代表出现0次或者多次

注意:空行有可能是 没有空格的行  和有空格的行

1、grep

grep -v '^$' file

2、sed

sed '/^$/d'  file 或 sed -n '/./p' file
sed '/^\s*$/d' file 

3、awk

awk '/./ {print}' file 或 awk '{if($0!=" ") print}'

4、tr

tr -s "n"

除此之外,vim也可以在查看时。通过命令模式删除空行。vim在命令模式下输入:

%s/^n//g

意思是全局替换所有以回车开头的字符,替换为空。如果有多个连续的空行,想保留一行。则只需在命令行模式输入下行即可:

%s/^n$//g

linux下删除空行的几种方法相关推荐

  1. linux 批量删除进程的两种方法

    linux批量删除进程的两种方法 介绍两种方法.要kill的进程都有共同的字串. [plain]  kill -9 `ps -ef |grep xxx|awk '{print $2}' `    ki ...

  2. linux系统调用劫持隐藏进程,linux 下隐藏进程的一种方法及遇到的坑

    前言 1.本文所用到的工具在 https://github.com/gianlucaborello/libprocesshider 可以下载 2.思路就是利用 LD_PRELOAD 来实现系统函数的劫 ...

  3. Linux下进程通信的八种方法

    Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...

  4. linux存储安装教程,在Linux下安装Pngquant的三种方法:从存储库,源代码及使用Cargo安装...

    本文介绍在Linux操作系统下安装Pngquant的三种方法,即从存储库.从源代码及使用Cargo安装,可用在Arch Linux.Debian.Ubuntu.Linux Mint.Fedora.op ...

  5. Linux下安装软件的几种方法

    来源: http://blog.csdn.net/shun01/article/details/22041339 怎么安装应用软件? 我的软件安装在什么地方? 如何删除不要的应用软件? -- 下面,我 ...

  6. Linux下打开ISO文件两种方法

    方法一.Linux下用mount挂载命令 在网上下载的软件盘是iso格式的,不刻成光盘就可以读取里面的文件.不用解压. 在终端用mount -o loop /mnt/*/1.iso /mnt/cdro ...

  7. Excel批量删除空行的几种方法

    工作中我们可能要处理一些不规范的数据,比如数据中存在很多空行.今天就给大家分享一下如何批量删除空行. 1.如下图是某老师收到的学生成绩表,在此表格中存在大量无意义空行,现在想要快速批量删除这些无意义空 ...

  8. linux下配置ip地址四种方法(图文)

    配置ip地址四种方法 (1)Ifconfig命令 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:o ...

  9. linux键盘模拟程序,linux下模拟键盘的几种方法

    1.使用GTK中的GdkEvent GdkEvent *event; event = gdk_event_new (GDK_KEY_PRESS);              //按键按下 event- ...

最新文章

  1. SQL2005CLR函数扩展-正则表达式
  2. android gridview 中图片大小不一,android – Gridview及其图像不适合所有屏幕大小
  3. 转一个链接:《八零后批判》作者-梁宏达
  4. linux支持中文文件名,CentOS安装中文支持(linux中文文件名乱码)
  5. idea application context not configured for this file的问题的解决
  6. C++11系列学习之五-------decltype
  7. 西门子scl语言编程手册_西门子SCL编程PEEK指令讲解
  8. python cnn识别图像_笨方法学习CNN图像识别(一)—— 图片预处理
  9. 程序员,你还在 Select * 吗?
  10. 第3课 天安门广场 《小学生C++趣味编程》--C++、Scratch
  11. Go:获取命令行参数
  12. 数据结构期末复习之选择排序
  13. PHP快速获取MySQL数据库表结构
  14. 怎么将py文件转成dll_怎样将PDF文件转成CAD图纸?
  15. 原生的强大DOM选择器querySelector - querySelector和querySelectorAll
  16. 爱思唯尔计算机期刊排名,2017影响因子高增长爱思唯尔物理期刊推荐
  17. 力士乐伺服电机编码器调零_伺服电机编码器安装拆卸方法
  18. 破解隔壁wifi的实践——网络攻击,抓取握手包,解包
  19. petalinux 安装
  20. Rmarkdown 报错:无法打开链接

热门文章

  1. 申请Google Play开发者账号
  2. RISC-V峰会一周年,全志做了这些事
  3. 测试用例和bug描述规范参考
  4. 基于深度强化学习的车道线检测和定位(Deep reinforcement learning based lane detection and localization) 论文解读+代码复现
  5. kubelet源码分析(三)之 startKubelet
  6. I9000小技巧收集
  7. 2021年中国纺织行业产业链发展分析:纺织行业下游零售市场逐渐恢复增涨[图]
  8. 计算流体力学 有限体积法
  9. c 语言程序设计第四版郑莉答案,C 语言程序设计郑莉(第4版)
  10. 搜狗输入法切换全角半角