shell - 如何使用 sed 仅打印第一条非空白行

标签 shell unix awk sed text-parsing

给定以下文件,其中第 1 行为空白:

\n
Line 2\n
Line 3\n

您将如何使用 sed 仅输出“第 2 行”?

欢迎使用其他标准 UNIX 工具(例如 awk)的解决方案。

最佳答案

使用带有 -m 的 grep 版本开关,例如 GNUOpenBSD格雷普:

grep -m 1 . file

这将在 1 个匹配行后停止读取文件。 .匹配任何字符,因此第一个非空行将匹配。

使用任何版本的 awk(本质上与 sed 版本相同):
awk '/./{print;exit}' file

关于shell - 如何使用 sed 仅打印第一条非空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30073386/

相关文章:

bash - 我可以在树中的所有文本文件(但不是二进制文件)中搜索某个字符串吗

unix - 按前缀分组行

bash - 如何使用bash匹配不同目录下的文件名

c++ - 从 Pro*C 连接获取 OCCI 连接?

javascript - JavaScript + UNIX 中转义字符的问题

linux - bash getopts 无法识别参数

linux - 仅当包含它的行还包含使用 Bash 在另一个文件中找到的数字时,如何替换文件中的字符串?

bash - 如何在 Bash 脚本中解析 CSV?

linux - 自动递增变量名称

shell - 得到错误/usr/bin/env : sh: No such file or directory when running command play