【发布时间】:2023-03-31 08:48:01
【问题描述】:
我目前正在编写一个 bash 脚本,该脚本从名为 carslist.txt 的文本文件中提取数据,每辆汽车(及其相应的特征)位于不同的行中。在满足单个条件(例如下面)后,我已经能够从文本文件中提取和保存数据,但我不知道如何针对两个条件执行此操作。
单一条件示例:
grep 'Vauxhall' $CARFILE > output/Vauxhall_Cars.txt
输出:
Vauxhall:Vectra:1999:White:2
Vauxhall:Corsa:1999:White:5
Vauxhall:Cavalier:1995:White:2
Vauxhall:Nova:1994:Black:8
从上面的示例中,如果我希望在提取数据之前满足Vauxhall 和White 的条件,我将如何提取数据?
上面的 grep 示例要求在提取和保存数据之前满足 Vauxhall,但我不知道如何为 2 执行此操作。我尝试将命令流水线化为 Vauxhall | White,但在那之后我是没有想法。
提前致谢。
【问题讨论】:
-
grep '^Vauxhall:' $CARFILE | grep ':White:' -
似乎正在创建一个输出文件但没有保存任何数据,知道为什么会这样吗?
-
grep 写入标准输出,只需将其重定向到您的输出文件名 (
.. 1>youroutput.txt;) -
我一直把它写到 output/saveFile.txt 但它只是一个空文件
-
是 $CARFILE 在你调用它的上下文中定义的......