【发布时间】:2019-06-10 16:53:56
【问题描述】:
考虑下面的 toy 示例(我真正做的是更复杂),我想从相同的命令序列中获取两条信息:
echo 'cats pajamas
hatori hanso
batterang
catwoman
fratstar' > tmp1
answer1=$(grep 'cat' tmp1)
answer2=$(grep 'cat' tmp1 | wc -l)
本质上,我正在寻找一种方法,只需要运行序列中较早的命令,在本例中为 grep,一次,同时仍然获得 完全相同值存储在变量 answer1 和 answer2 中。我想这可以将管道(可以这么说)拆分为answer1 和wc -l,后者的输出将转到answer2。
请注意,使用间歇性变量或文件来存储grep 的输出会改变wc -l 返回的内容。我认为这促使我选择这个玩具示例并限制了this 的相关性。 This question 似乎相关,但是我不清楚如何将中间部分分配给另一个变量。我目前在bash,尽管可以选择备用外壳。
【问题讨论】: