我的文件看起来像
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