检查行是否包含字符

检查行是否包含字符

我的文件看起来像

This row contains characters

this row to

*-=?§/

this             is the lat row of the file

我怎样才能只打印包含一些字符的行——也就是除了空行之外的所有行?

我努力了

cat file | grep '[a-zA-Z0-9,\.,?{}()]'

但没有成功。我怎样才能实现这个目标?

答案1

你可以做:

grep -v '^$' file.txt

这将打印非空的行。

如果该行中只有空格或制表符并且也想忽略这些行:

grep -v '^[[:blank:]]*$'

答案2

使用

$ grep '[[:graph:]]' file

获取 中具有某种可见字符的所有行file

或者,

$ grep -v '^[^[:graph:]]*$' file

过滤掉所有只有不可见字符的行。

答案3

尝试使用 awk 命令。

awk 'NF>0' file

awk 'NF==0' file

相关内容