我需要一个使用sed、awk或perl的一行程序来删除数据文件中的空行。我档案里的数据是这样的-
Aamir
Ravi
Arun
Rampaul
Pankaj
Amit
Bianca
这些空白位于,随机和出现在我的数据文件中的任何地方。有人能建议单行从我的数据集中删除这些空行吗?
发布于 2011-11-25 02:55:08
它可以通过多种方式来完成。
例如,使用awk:
awk '$0' yourFile
或苏黎世:
sed '/^$/d' yourFile
或grep:
grep -v '^$' yourFile
发布于 2011-11-25 06:19:03
Perl解决方案。从命令行。
$ perl -i.bak -n -e'print if /\S/' INPUT_FILE
编辑文件并创建原始文件的备份。
发布于 2011-11-25 03:05:27
AWK解决方案:
在这里,我们循环遍历输入文件,以检查它们是否有任何字段集。NF是AWK的内置变量,被设置为字段数。如果行为空,则不设置NF。在这一行中,我们测试NF是否为真,即设置为一个值。如果是,那么我们打印这一行,当模式为真时,这在AWK中是隐式的。
awk 'NF' INPUT_FILE
SED解决方案:
这个解决方案类似于所提到的答案。如语法所示,我们不打印任何空白行。
sed -n '/^$/!p' INPUT_FILE
https://stackoverflow.com/questions/8268025
复制相似问题