我正在尝试删除仅少于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
或类似的东西)
预先感谢
答案 0 :(得分:1)
使用awk
应该很容易,以防万一。
awk 'NF>2' Input_file
说明:
如果NF>2
(字段数,NF
中的默认变量)的值大于awk
,则在2
处检查条件。
awk
默认情况下以空格作为定界符,因此根据OP,它应该超过2个字,因此根据>2
条件来定。
现在介绍了如何打印满足条件的行? awk
适用于条件和操作方法,如果条件为TRUE且未提及任何操作(如此代码),则默认情况下将打印当前行。
答案 1 :(得分:0)
这可能对您有用(GNU sed):
sed -nE 's/\S+/&/3p' file
仅打印包含3组或更多组非空格字符的行。