Como usar o grep e cortar juntos?

0

Digamos que estou fazendo um banco de dados para frutas. Usando um arquivo de texto para ele, dentro contém, neste formato,

(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.

Meu script simples é assim:

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

Ele exibirá os frutos no banco de dados.

Mas como faço para usar grep e cortar juntos para encontrar apenas pela quantidade ou pelo custo. Na área de contagem de quantidade, digamos que eu digite 20, ele exibirá Laranjas e Banana. Ou quando eu inserir contagem e custo, ele exibirá apenas aqueles que atendem às condições.

    
por Zac 08.01.2015 / 16:29

1 resposta

1

Você não precisa de cut , apenas grep é suficiente no formulário:

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

Remova qualquer variável que você não queira grep no momento (mas deixe os separadores : e os sinais de início e fim de linha ^ e $ (para variáveis de borda)).

Por exemplo, para grep aqueles com count=20 :

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

grep aqueles com count=20 e cost=2 :

$ grep ":$count:$cost$" FruitDB.txt
Orange:20:2
    
por 08.01.2015 / 16:41