제가 과일 데이터베이스를 만들고 있다고 가정해 보겠습니다. 이 형식을 포함하는 텍스트 파일을 사용하십시오.
(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