使用模式匹配从文件中获取多个可变长度?

使用模式匹配从文件中获取多个可变长度?

我在 UNIX 上有许多文件,并且希望获取该文件中与指定模式关联的数字。

大多数文件都会有一个独特的模式,如下所示

some text abc
some text abc
some text abc
(3 rows)

该数字可能因文件而异,可以是 35644 或任何数值。

我想找到那个号码使用 grep 或 sed 而不是 awk。到目前为止我能够得到这个。我想使用单行 unix 命令来执行此操作,包括重定向(如果适用)。

grep 'rows' file.txt

编辑 - 删除了如果未找到模式应该发生什么的要求。

答案1

sed -n -e 's/^(\([0-9]\+\) rows)$/\1/p'

(这将打印紧跟在包含 only 的行之后的数字(nnn rows)(其中 nnn 是任何正整数)。

没有打印其他行。

相关内容