我在Linux中尝试了grep -v '^$',但没有工作。该文件来自Windows文件系统。
当前回答
awk 'NF' file-with-blank-lines > file-with-no-blank-lines
其他回答
此代码删除空行和以“#”开头的行
grep -v "^#" file.txt | grep -v ^[[:space:]]*$
grep -v "^[[:space:]]*$"
The -v makes it print lines that do not completely match
===Each part explained===
^ match start of line
[[:space:]] match whitespace- spaces, tabs, carriage returns, etc.
* previous match (whitespace) may exist from 0 to infinite times
$ match end of line
〇运行代码
$ echo "
> hello
>
> ok" |
> grep -v "^[[:space:]]*$"
hello
ok
要了解更多关于这是如何/为什么工作的,我建议阅读正则表达式。http://www.regular-expressions.info/tutorial.html
Use:
$ dos2unix file
$ grep -v "^$" file
或者简单地awk:
awk 'NF' file
如果你没有dos2unix,那么你可以使用像tr这样的工具:
tr -d '\r' < "$file" > t ; mv t "$file"
文件中的行中有空白字符吗?
如果是,那么
grep “\S” 文件.txt
否则
握。文件.txt
得到的答案: https://serverfault.com/a/688789
下面是删除白色线条和以#符号开始的线条的另一种方法。我认为这对于读取配置文件非常有用。
[root@localhost ~]# cat /etc/sudoers | egrep -v '^(#|$)'
Defaults requiretty
Defaults !visiblepw
Defaults always_set_home
Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
LS_COLORS"
root ALL=(ALL) ALL
%wheel ALL=(ALL) ALL
stack ALL=(ALL) NOPASSWD: ALL
推荐文章
- 如何从终端机发送电子邮件?
- OpenGL 4.1版本的文本渲染技术是怎样的?
- 谁能举一个余弦相似度的例子,用一个简单的图形化的方法?
- 在SQL Server上使用varchar(MAX) vs TEXT
- PowerShell等价于grep -f
- 用CSS截断长字符串:可行吗?
- Git显示“警告:永久添加到已知主机列表”
- Awk不打印换行符
- 写字符串到文本文件,并确保它总是覆盖现有的内容。
- Docker- compose无法连接到Docker Daemon
- 字符串资源新行/n不可能?
- 如何复制文件跨计算机使用SSH和MAC OS X终端
- 如何修改文本文件?
- 如何读一个文本文件到一个列表或数组与Python
- 如何在文件中grep不区分大小写的字符串?