[root@localhost ~]# cat -n fruits.lst
1 apple banana cherry mango
2 watermelon banana kiwi pineapple
3 orange guava mango banana apple
All we have known is that Mr. Thompson likes banana, but NOT mango, what should we recommend? Let's see what platters have banana.
[root@localhost ~]# cat -n fruits.lst | grep banana
1 apple banana cherry mango
2 watermelon banana kiwi pineapple
3 orange guava mango banana apple
All platters have banana, we should add a dislike-filter to the result:
[root@localhost ~]# cat -n fruits.lst | grep banana | grep -v mango
2 watermelon banana kiwi pineapple
Now we know we should recommend Platter #2 for Mr. Thompson to order.
As you can see, we arrange filters in a sequential chain to narrow down the result.