【发布时间】:2012-02-26 00:25:33
【问题描述】:
我需要将grep 的结果分配给一个数组...例如
grep -n "search term" file.txt | sed 's/:.*//'
这导致了一堆带有行号的行,其中找到了搜索词。
1
3
12
19
将它们分配给 bash 数组的最简单方法是什么?如果我只是将它们分配给一个变量,它们就会变成一个以空格分隔的字符串。
【问题讨论】:
-
空格分隔的字符串在 bash 中很容易遍历。
-
哦...应该搜索得更彻底。谢谢。
-
顺便说一句,一个常见的反模式使用
grep来获取某些东西的行号,并最终将它们传递给一个自己支持正则表达式的工具。然后它可以找到与找到的grep相同的行,而无需绕道找出匹配的行号。
标签: arrays bash command-substitution