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

Cli*_*chl 2 unix shell awk sed text-parsing

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

\n
Line 2\n
Line 3\n
Run Code Online (Sandbox Code Playgroud)

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

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

Tom*_*ech 6

-m交换机上使用grep版本,例如GNUOpenBSD grep:

grep -m 1 . file
Run Code Online (Sandbox Code Playgroud)

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

使用任何版本的awk(基本上与sed版本相同):

awk '/./{print;exit}' file
Run Code Online (Sandbox Code Playgroud)

  • “ awk'NF {print; exit}”也将起作用,这取决于它们是否将空格视为空白。 (2认同)