本篇内容介绍了“Linux系统怎么删除文件中的空行”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
下列 5 种方法可以做到。
sed
:过滤和替换文本的流编辑器。
grep
:输出匹配到的行。
cat
:合并文件并打印内容到标准输出。
tr
:替换或删除字符。
awk
:awk 工具用于执行 awk 语言编写的程序,专门用于文本处理。
perl
:Perl 是一种用于处理文本的编程语言。
我创建了一个 2daygeek.txt
文件来测试这些命令。下面是文件的内容。
$ cat 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux. It's FIVE years old blog. This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0. He got two GIRL babys. Her names are Tanisha & Renusha.
现在一切就绪,我们准备开始用多种方法来验证。
sed
是一个流编辑器。流编辑器是用来编辑输入流(文件或管道)中的文本的。
$ sed '/^$/d' 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.
以下是命令展开的细节:
sed
: 该命令本身。
//
: 标记匹配范围。
^
: 匹配字符串开头。
$
: 匹配字符串结尾。
d
: 删除匹配的字符串。
2daygeek.txt
: 源文件名。
grep
可以通过正则表达式在文件中搜索。该表达式可以是一行或多行空行分割的字符,grep
会打印所有匹配的内容。
$ grep . 2daygeek.txtor$ grep -Ev "^$" 2daygeek.txtor$ grep -v -e '^$' 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.
以下是命令展开的细节:
grep
: 该命令本身。
.
: 替换任意字符。
^
: 匹配字符串开头。
$
: 匹配字符串结尾。
E
: 使用扩展正则匹配模式。
e
: 使用常规正则匹配模式。
v
: 反向匹配。
2daygeek.txt
: 源文件名。
awk
可以执行使用 awk 语言写的脚本,大多是专用于处理文本的。awk 脚本是一系列 awk
命令和正则的组合。
$ awk NF 2daygeek.txtor$ awk '!/^$/' 2daygeek.txtor$ awk '/./' 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.
以下是命令展开的细节:
awk
: 该命令本身。
//
: 标记匹配范围。
^
: 匹配字符串开头。
$
: 匹配字符串结尾。
.
: 匹配任意字符。
!
: 删除匹配的字符串。
2daygeek.txt
: 源文件名。
cat
是串联(拼接)的简写。经常用于在 Linux 中读取一个文件的内容。
cat
是在类 Unix 系统中使用频率很高的命令之一。它提供了常用的三个处理文本文件的功能:显示文件内容、将多个文件拼接成一个,以及创建一个新文件。
tr
可以将标准输入中的字符转换,压缩或删除,然后重定向到标准输出。
$ cat 2daygeek.txt | tr -s '\n'2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.
以下是命令展开的细节:
cat
: cat 命令本身。
tr
: tr 命令本身。
|
: 管道符号。它可以将前面的命令的标准输出作为下一个命令的标准输入。
s
: 替换标数据集中任意多个重复字符为一个。
\n
: 添加一个新的换行。
2daygeek.txt
: 源文件名。
Perl 表示实用的提取和报告语言。Perl 在初期被设计为一个专用于文本处理的编程语言,现在已扩展应用到 Linux 系统管理,网络编程和网站开发等多个领域。
$ perl -ne 'print if /\S/' 2daygeek.txt2daygeek.com is a best Linux blog to learn Linux.It's FIVE years old blog.This website is maintained by Magesh M, it's licensed under CC BY-NC 4.0.He got two GIRL babes.Her names are Tanisha & Renusha.
以下是命令展开的细节:
perl
: perl 命令。
n
: 逐行读入数据。
e
: 执行某个命令。
print
: 打印信息。
if
: if 条件分支。
//
: 标记匹配范围。
\S
: 匹配任意非空白字符。
2daygeek.txt
: 源文件名。
“Linux系统怎么删除文件中的空行”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。