您的“空”行中可能有空格或制表符。使用带有 sed 的 POSIX 类 来删除所有仅包含空格的行: sed '/^[[:space:]]*$/d' 使用 ERE 的较短版本,例如使用 gnu sed: sed -r '/^\s*$/d' (注意 sed 不 支持 PCRE。) 原文由 Kent 发布,翻译遵循 CC BY-SA 4.0 许可协议