删除数据集中的空白行

发布于 2024-12-17 20:55:42 字数 235 浏览 0 评论 0原文

我需要一个使用 sed、awk 或 perl 的单行代码来从我的数据文件中删除空白行。我的文件中的数据如下所示 -

Aamir
Ravi 

Arun


Rampaul
Pankaj

Amit

Bianca

这些空白是随机并且出现在我的数据文件中的任何位置。有人可以建议一个单行语句从我的数据集中删除这些空白行吗?

I need a one liner using sed, awk or perl to remove blank lines from my data file. The data in my file looks like this -

Aamir
Ravi 

Arun


Rampaul
Pankaj

Amit

Bianca

These blanks are at random and appear anywhere in my data file. Can someone suggest a one-liner to remove these blank lines from my dataset.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

玻璃人 2024-12-24 20:55:42

可以通过多种方式实现。

例如使用 awk:

awk '$0' yourFile

或 sed:

sed '/^$/d' yourFile

或 grep:

grep -v '^
 yourFile

it can be done in many ways.

e.g with awk:

awk '$0' yourFile

or sed:

sed '/^$/d' yourFile

or grep:

grep -v '^
 yourFile
同尘 2024-12-24 20:55:42

Perl 解决方案。从命令行。

$ perl -i.bak -n -e'print if /\S/' INPUT_FILE

就地编辑文件并创建原始文件的备份。

A Perl solution. From the command line.

$ perl -i.bak -n -e'print if /\S/' INPUT_FILE

Edits the file in-place and creates a backup of the original file.

鹿! 2024-12-24 20:55:42

AWK 解决方案:

这里我们循环遍历输入文件以检查它们是否设置了任何字段。 NF 是 AWK 的内置变量,设置为字段数。如果该行为空,则未设置 NF。在这一行中,我们测试 NF 是否为真,即设置为一个值。如果是,那么我们打印该行,当模式为真时,该行在 AWK 中是隐式的。

awk 'NF' INPUT_FILE

SED 解决方案:

此解决方案与答案中提到的解决方案类似。正如语法所示,我们不会打印任何空白行。

sed -n '/^$/!p' INPUT_FILE

AWK Solution:

Here we loop through the input file to check if they have any field set. NF is AWK's in-built variable that is set to th number of fields. If the line is empty then NF is not set. In this one liner we test if NF is true, i.e set to a value. If it is then we print the line, which is implicit in AWK when the pattern is true.

awk 'NF' INPUT_FILE

SED Solution:

This solution is similar to the ones mentioned as the answer. As the syntax show we are not printing any lines that are blank.

sed -n '/^$/!p' INPUT_FILE
冷情妓 2024-12-24 20:55:42

你可以这样做:

 sed -i.bak '/^$/d' file

You can do:

 sed -i.bak '/^$/d' file
椵侞 2024-12-24 20:55:42

Perl 解决方案:

perl -ni.old -e 'print unless /^\s*$/' file

...创建原始文件的备份副本,后缀为“.old”

A Perl solution:

perl -ni.old -e 'print unless /^\s*$/' file

...which create as backup copy of the original file, suffixed with '.old'

粉红×色少女 2024-12-24 20:55:42

对于 Perl 来说,它与 sed、awk 或 grep 一样容易。

$ cat tmp/tmpfile
Aamir
Ravi

Arun


Rampaul
Pankaj

Amit

Bianca

$ perl -i -pe 's{^\s*\n$}{}' tmp/tmpfile

$ cat tmp/tmpfile
Aamir
Ravi
Arun
Rampaul
Pankaj
Amit
Bianca

for perl it is as easier as sed,awk, or grep.

$ cat tmp/tmpfile
Aamir
Ravi

Arun


Rampaul
Pankaj

Amit

Bianca

$ perl -i -pe 's{^\s*\n$}{}' tmp/tmpfile

$ cat tmp/tmpfile
Aamir
Ravi
Arun
Rampaul
Pankaj
Amit
Bianca
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文