我正在尝试使用sed删除空行:
sed '/^$/d'
但我运气不佳。
例如,我有这样几行:
xxxxxx
yyyyyy
zzzzzz
我希望它是这样的:
xxxxxx
yyyyyy
zzzzzz
这个的代码应该是什么?
我正在尝试使用sed删除空行:
sed '/^$/d'
但我运气不佳。
例如,我有这样几行:
xxxxxx
yyyyyy
zzzzzz
我希望它是这样的:
xxxxxx
yyyyyy
zzzzzz
这个的代码应该是什么?
当前回答
如果你想使用现代Rust工具,你可以考虑:
ripgrep: Cat数据文件| rg '。'带空格的行被认为是非空的 cat datafile | rg '\S'行带空格被认为是空的 rg '\S'带空格的数据文件行被认为是空的(可以添加-N来删除在屏幕上显示的行号) sd 带空格的Cat数据文件| sd '^\n' "行被认为是非空的 带空格的Cat数据文件| sd '^\s*\n' "行被认为是空的 Sd '^\s*\n' "数据文件就地编辑
其他回答
你也可以使用"grep"来做类似的事情:
egrep -v "^$" file.txt
你可以说:
sed -n '/ / p' filename #there is a space between '//'
这也适用于awk。
awk '!/^$/' file
xxxxxx
yyyyyy
zzzzzz
您正在尝试的命令是正确的,只需使用-E标志。
sed -E '/^$/d'
-E标志使sed捕获扩展正则表达式。更多信息请点击这里
NF是awk的命令,可用于删除文件中的空行 awk NF文件名 通过使用sed Sed -r "/^\r?美元/ d”