linux - 从文本文件 shell 脚本中删除 "empty"行

标签 linux shell text-processing blank-line

我有一组输出文件,其中一些如下:

133 0.00295 nurse merit respect muslim 
134 0.00292 high dangerous reassure full 
135 0.00048 
136 0.0039  experience darren  
137 0.00097 _ _param_ui_control_scripts_save _param_pattern_value 
138 0.00292 find director

我想获取以下文件:

133 0.00295 nurse merit respect muslim 
134 0.00292 high dangerous reassure full 
136 0.0039  experience darren  
137 0.00097 _ _param_ui_control_scripts_save _param_pattern_value 
138 0.00292 find director

如果第二列之后没有任何内容,则只想删除该特定行。我该怎么做我对 shell 脚本很陌生?

可能是对这个命令的修改? sed '/^$/d'

最佳答案

如果列是用空格分隔的,如何检查行是否有两个以上的字段?因为 NF 存储了这个值,你可以简单地说:

awk 'NF>2' file

对于您给定的输入,它返回:

133 0.00295 nurse merit respect muslim 
134 0.00292 high dangerous reassure full 
136 0.0039  experience darren  
137 0.00097 _ _param_ui_control_scripts_save _param_pattern_value 
138 0.00292 find director

关于linux - 从文本文件 shell 脚本中删除 "empty"行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33756062/

相关文章:

sql - 如何计算 presto 中两个文本之间的余弦相似度?

c - Malloc 内存问题

c - 内存管理和内存分配之间的区别。当分配/访问发生时它们都一起工作2内存|它们是如何精确相关的

linux - Bash 函数中的 Cd

bash - 将 cpu 温度的平均值作为一行脚本获取

linux - Perl 中的条件拆分

linux - centos 7 发行版的理想 puppet 存储库

c# - Nuget 包引用的库在 Linux 和 Windows 上具有不同的名称

shell - 为什么这个 shell 脚本输出如此​​奇怪

bash - 通过定义标题的正则表达式拆分 Markdown 文本文件