我正在尝试使用sed删除空行:
sed '/^$/d'
但我运气不佳。
例如,我有这样几行:
xxxxxx
yyyyyy
zzzzzz
我希望它是这样的:
xxxxxx
yyyyyy
zzzzzz
这个的代码应该是什么?
我正在尝试使用sed删除空行:
sed '/^$/d'
但我运气不佳。
例如,我有这样几行:
xxxxxx
yyyyyy
zzzzzz
我希望它是这样的:
xxxxxx
yyyyyy
zzzzzz
这个的代码应该是什么?
当前回答
这也适用于awk。
awk '!/^$/' file
xxxxxx
yyyyyy
zzzzzz
其他回答
你可以说:
sed -n '/ / p' filename #there is a space between '//'
sed
' / ^[[:空间:]]*美元/ d ' ' / ^ \ s *美元/ d ' ' / ^ $ / d ' - n ' / ^ \ s *美元/ !p '
grep
. - v“^ $” - v ' ^ \ s * $ ' - v " ^[[:空间:]]*美元”
awk
/。/ “NF” “长度” '/^[\t]*$/ {next;} {print}' ”!/ ^ \ [t] * $ / '
这也适用于awk。
awk '!/^$/' file
xxxxxx
yyyyyy
zzzzzz
NF是awk的命令,可用于删除文件中的空行 awk NF文件名 通过使用sed Sed -r "/^\r?美元/ d”
借助这里的公认答案和上面的公认答案,我使用了:
$ sed 's/^ *//; s/ *$//; /^$/d; /^\s*$/d' file.txt > output.txt
`s/^ *//` => left trim
`s/ *$//` => right trim
`/^$/d` => remove empty line
`/^\s*$/d` => delete lines which may contain white space
这涵盖了所有的基础,完美地满足了我的需求。向最初的海报致敬@肯特和@凯文