我在Linux中尝试了grep -v '^$'
,但没有起作用。此文件来自Windows文件系统。
发布于 2010-08-08 08:17:13
尝试以下操作:
grep -v -e '^$' foo.txt
-e
选项允许匹配正则表达式模式。
^$
前后的单引号使其适用于Cshell。其他shell会喜欢使用单引号或双引号。
更新:这适用于包含空白行或“全空白”的文件(例如带有"\r\n“样式行结尾的windows行),而上面只删除具有空白行和unix样式行结尾的文件:
grep -v -e '^[[:space:]]*$' foo.txt
发布于 2015-12-28 19:55:06
保持简单。
grep . filename.txt
发布于 2010-08-08 09:10:41
使用:
$ dos2unix file
$ grep -v "^$" file
或者只是简单的awk:
awk 'NF' file
如果您没有dos2unix,那么可以使用诸如tr之类的工具
tr -d '\r' < "$file" > t ; mv t "$file"
https://stackoverflow.com/questions/3432555
复制相似问题