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=20cost=2:

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

관련 정보