bash - Grep 只搜索一行?

标签 bash unix grep

我正在使用 Bash 查找矩阵的维数。这是我的代码,用于获取一行中的元素数,但是它会打印出整个文件。我只需要一行中的元素数。

grep -oP  "\^I" $1 | wc -l

$1 指的是:

1^I2^I3^I4$
5^I6^I7^I8$

出于某种原因,它打印出 9 而不是 3。

提前致谢!

最佳答案

使用:

cat $1 | head -n 1 | sed 's/\^I/\n/g' | wc -l

我只使用 head 获取第一行,使用 sed 将每个列分隔符替换为换行符,然后将其通过管道传输到 wc

关于bash - Grep 只搜索一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48374234/

相关文章:

linux - 使用 set -x 时重定向 bash 脚本中的所有输出,捕获 pid 和所有输出

linux - 使用 Bash 将两个字符之间的所有字符串提取到数组

linux - 如何从 bash 脚本确定 gcc 的配置?

bash - 是否有 grep : finding short lines in long patterns? 的反函数

bash - 对于 `ls` 中的名称和带空格的文件名

linux - Motif Widget Toolkit 的 Perl 绑定(bind)

linux - 使用 sed 删除一段文本

linux - egrep 没有得到结果

regex - 日期范围的正则表达式

grep - 如何在命令提示符中获取一行的 x 字?