[转帖]linux删除文本文件空白行
linux删除文本文件空白行
https://www.zhihu.com/people/chen-kai-84-54-75
sed命令
在Linux中,可以使用sed命令批量删除文本中的空白行。以下是一个示例命令:
sed -i '/^$/d' filename.txt
这个命令将会删除 filename.txt 文件中所有的空白行,并且直接在原文件中进行修改, -i 参数表示直接在文件中进行修改。
解释一下,sed命令可以用来编辑文本,-i表示直接在原文件中进行修改,/^$/d表示删除空白行。具体来说,/^$/ 是一个正则表达式,表示匹配空白行,d则表示删除匹配到的行。
如果你要处理多个文件,可以使用通配符来匹配文件名,例如:
sed -i '/^$/d' *.txt
这个命令将会匹配所有以 .txt 结尾的文件,并且删除其中的空白行。
grep 命令
可以使用 grep 命令来过滤掉空白行,然后将结果输出到一个新文件中。具体命令如下:
grep -v '^$' filename.txt > newfile.txt
这个命令将会将 filename.txt 文件中除了空白行以外的所有行保存到 newfile.txt 文件中。 -v 参数表示反向选择,也就是选择不匹配正则表达式的行,'^$' 表示匹配空白行。
如果要处理多个文件,可以使用通配符来匹配文件名,例如:
grep -v '^$' *.txt > newfile.txt
这个命令将会将所有以 .txt 结尾的文件中除了空白行以外的所有行保存到 newfile.txt 文件中。
还可以使用 grep 命令和正则表达式来删除空白行。以下是一个示例命令:
grep -vE '^[[:space:]]*$' filename.txt > newfile.txt
这个命令将会将 filename.txt 文件中的所有空白行删除。-v 参数表示反向选择,也就是选择不匹配正则表达式的行,-E 参数表示使用扩展的正则表达式,'^[[:space:]]*$' 表示匹配只包含空白字符的行。
如果要处理多个文件,可以使用通配符来匹配文件名,例如:
grep -vE '^[[:space:]]*$' *.txt > newfile.txt
这个命令将会将所有以 .txt 结尾的文件中的所有空白行删除。
awk 命令
awk 命令也可以用来删除空白行。以下是一个示例命令:
awk NF filename.txt > newfile.txt
这个命令将会将 filename.txt 文件中除了空白行以外的所有行保存到 newfile.txt 文件中。NF 表示输出非空行,也就是只输出有内容的行。
如果要处理多个文件,可以使用通配符来匹配文件名,例如:
awk NF *.txt > newfile.txt
这个命令将会将所有以 .txt 结尾的文件中除了空白行以外的所有行保存到 newfile.txt 文件中。
tr 结合 grep 命令
可以使用 tr 命令将空白行替换为其他字符,然后使用 grep 命令过滤掉这些字符。具体命令如下:
tr -s '\n' < filename.txt | grep -v '^$' > newfile.txt
这个命令将会将 filename.txt 文件中的所有空白行替换为一个换行符,然后使用 grep 命令过滤掉空白行。-s 参数表示压缩连续的换行符为一个换行符,'^$' 表示匹配空白行。
perl 命令
可以使用 perl 命令来删除空白行。以下是一个示例命令:
perl -i -ne 'print if /\S/' filename.txt
这个命令将会将 filename.txt 文件中除了空白行以外的所有行保存到原文件中。 -i 参数表示直接在原文件中进行修改,/\S/ 表示匹配非空白字符。
如果要处理多个文件,可以使用通配符来匹配文件名,例如:
perl -i -ne 'print if /\S/' *.txt
这个命令将会将所有以 .txt 结尾的文件中除了空白行以外的所有行保存到原文件中。
paste 命令
可以使用 paste 命令将多个文件合并为一个文件,并且去掉空白行。以下是一个示例命令:
paste -s -d '\n' filename.txt > newfile.txt
这个命令将会将 filename.txt 文件中的所有行合并为一行,并且在每行之间加上一个换行符,然后输出到 newfile.txt 文件中。-s 参数表示将多个文件合并为一个文件,-d '\n' 表示在每行之间加上一个换行符。
如果要处理多个文件,可以使用通配符来匹配文件名,例如:
paste -s -d '\n' *.txt > newfile.txt
这个命令将会将所有以 .txt 结尾的文件中的所有行合并为一个文件,并且在每行之间加上一个换行符,然后输出到 newfile.txt 文件中。
[转帖]linux删除文本文件空白行的更多相关文章
- linux vi 删除一行,复制一行命令,删除所有空白行
删除所有空白行(^是行的开始,\s*是零个或者多个空白字符:$是行尾) :g/^\s*$/d 删除一行: dd 复制一行: yy ,之后是要 p 才会贴上来的.
- linux删除文件未释放空间问题处理
linux删除文件未释放空间问题处理 或者 /根分区满了 (我的根分区是/dev/sda1,/dev/sda1满了) http://blog.csdn.net/donghustone/article/ ...
- linux删除、读取文件原理
linux删除文件原理 LINUX的文件名是存在父目录的block里面,并指向这个文件额inode节点,这个文件的inode节点再标记指向存放这个文件的block的数据块.我们删除一个文件,实际上并不 ...
- Linux删除乱码文件或者目录
Linux删除乱码文件或者目录 有时在Linux下面解压一些zip或者rar文件后会产生乱码文件或者目录,这个时候使用rm不能成功删除,需要使用一些特别的方法 来进行删除,下面是我经常使用的两种方法. ...
- 解决linux删除文件后空间没有释放问题
linux删除文件后沒有释放空间 今天发现一台服务器的home空间满了,于是要清空没用的文件,当我删除文件后,发现可用空间沒有变化 os:centos4.7 现象: 发现当前磁盘空间使用情况: [ro ...
- linux下sort命令使用详解---linux将文本文件内容加以排序命令
转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...
- Linux 删除文件夹和文件的命令(转载)
Linux 删除文件夹和文件的命令 听语音 | 浏览:93339 | 更新:2013-05-02 18:40 | 标签:linux 文件夹 linux删除目录很简单,很多人还是习惯用rmdir,不过一 ...
- Linux 删除文件后空间不释放【原创】
删除MySQL备份文件后,查找文件所在目录发现文件已经备删除了,但是空间没有释放,还是83% 解决方法: lsof|grep -i delete 发现进程还在,杀掉进程 kill -9 5377 再次 ...
- Linux 删除带有特殊字符的文件
Linux 删除带有特殊字符的文件 http://www.cnblogs.com/tester-hehehe/p/5715128.html
- linux删除svn版本号库
当使用了svn版本号控制系统后每一个文件夹下都会有一个.svn文件夹存在,开发完当交付产品或者上传到server时一般要把这些文件夹删除.事实上在linux删除这些文件夹是非常easy的,命令例如以下 ...
随机推荐
- C#数据结构与算法系列(十七):时间复杂度(下)
1.常见的时间复杂度 常数阶:O(1) 对数阶:O(log2n) 线性阶:O(n) 线性对数阶:O(nlog2n) 平方阶:O(n^2) 立方阶:O(n^3) k次方阶:O(2^n) 常见的算法时间复 ...
- Llama2-Chinese项目:7-外延能力LangChain集成
本文介绍了Llama2模型集成LangChain框架的具体实现,这样可更方便地基于Llama2开发文档检索.问答机器人和智能体应用等. 1.调用Llama2类 针对LangChain[1]框架 ...
- Java PDF文档转换 — PDF转Excel、SVG转PDF
概述 Spire.PDF for Java支持将PDF文档高质量地转换为XPS.图片.SVG.Word.HTML和PDF/A格式,以及支持将XPS.HTML文档转换为PDF格式.本文将通过代码演示来介 ...
- PanGu-Coder:函数级的代码生成模型
摘要:华为诺亚方舟实验室语音语义实验室联合华为云PaaS技术创新实验室基于PanGu-Alpha研制出了当前业界最新的模型PanGu-Coder 本文分享自华为云社区<PanGu-Coder 函 ...
- 云小课 | ModelArts Pro 自然语言处理套件:高效构建行业高精度文本处理模型
摘要:ModelArts Pro提供了自然语言处理套件,为客户提供自然语言处理的自定制工具,旨在帮助客户高效地构建行业领域的高精度文本处理模型,可应用于政府.金融.法律等行业. 本文分享自华为云社区& ...
- 大力出奇迹,揭秘昇腾CANN的AI超能力
摘要:CANN(Compute Architecture for Neural Networks)异构计算架构,是以提升用户开发效率和释放昇腾AI处理器极致算力为目标,专门面向AI场景的异构计算架构. ...
- Docker 下自定义安装 Tomcat
服务器环境建好以后,如果要扩展,只需要执行(详细命令到下文中找)docker run .....发完版本需要重启服务,执行(详细命令到下文中找)docker restart [容器的ID] 将文件传到 ...
- python 使用 Google Gemini API
python 使用 Google Gemini API 注册APIKEY : Google AI Studio [免费] import base64 import requests import js ...
- CPP-移动语义
"Move semantics allows us to optimize the copying of objects, where we no longer need the value ...
- Windows 系统如何完全卸载 VSCode
0. 参考资料 Uninstall visual studio code in windows 1. 删不干净的用户数据 最近正在从 Sublime Text 3 环境切换到 VS Code,看重的是 ...