我正在尝试删除仅少于2个单词的行。我的文本文件是这样的
1.just be patient.
2.posters?
3.I have got two jobs, but they're not for you.
4.what?
5.I am.
哪个应该给我输出...
1.just be patient.
2.I have got two jobs, but they're not for you.
有人可以建议我最好的方法吗...(使用sed
或其他方式)
提前感谢
如果您认为awk
,这应该很容易。
awk 'NF>2' Input_file
说明:
NF>2
的检查条件,如果NF
(字段数,awk
中的默认变量)值大于2
。
[awk
默认情况下具有空格作为定界符,因此根据OP,它应该超过2个字,因此在给定>2
条件的情况下。
现在介绍如何打印满足条件的行? awk
处理条件和操作的方法,如果条件为TRUE且未提及任何操作(如此代码),则默认情况下将打印当前行。
这可能对您有用(GNU sed):
sed -nE 's/\S+/&/3p' file
仅打印具有三组或更多组非空白字符的行。