如何同时使用grep和cut?

如何同时使用grep和cut?

假设我正在做一个水果数据库。使用一个文本文件,里面包含这种格式的,

(Fruit:Quantity:Cost)
Apple:10:1
Orange:20:2
Pears:10:3
Banana:20:4

10 Apples at $1 each.
20 Oranges at $2 each.
10 Pears at $3 each.
20 Bananas at $4 each.

我的简单脚本是这样的:

echo "Enter fruit to find"
read fruit

echo "Enter quantity to find"
read count

echo "Enter cost to find"
read cost

grep $fruit FruitDB.txt

它将显示数据库中的水果。

但是我如何使用 grep 和 cut 一起来仅按数量或成本查找。在数量计数区域,假设我输入 20,它将显示橙子和香蕉。或者当我输入计数和成本时,它只会显示符合条件的那些。

答案1

cut您根本不需要,只需采用grep以下形式就足够了:

grep "^$fruit:$count:$cost$" FruitDB.txt

删除当时不想 grep 的任何变量(但保留分隔符:、行首和行尾符号^以及$(对于边缘变量))。

例如,要 grep 那些count=20

$ grep ":$count:" FruitDB.txt
Orange:20:2
Banana:20:4

grep 带有count=20和 的内容cost=2

$ grep ":$count:$cost$" FruitDB.txt
Orange:20:2

相关内容