Unix grep potokowanie

0

Piszę skrypt, który ma na celu wypisanie plików które mają w sobie dwa konkretne słowa
Niestety mój skrypt nie wypisuje mi wyniku. Czym to jest spowodowane? Jak mogę to naprawić?

#!/bin/bash
katalog=$1
slowo1=$2
slowo2=$3

ile=$(ls $katalog | wc -l)
echo "$ile"


tablica=(`ls $katalog`)
echo "tablica:"${tablica[@]}


grep -l $slowo1 ${tablica[@]} | grep -l $slowo2

Jeżeli to złe forum to przepraszam, nie znalazłam lepszego

0

Drugi grep robi zupełnie coś innego niż chcesz. Ogólnie ten skrypt jest trochę słaby:

grep -Rl -e "$slowo1" -e "$slowo2" "$katalog"

EDIT:

Poprawiona wersja

grep -ZRl -e "$slowo1" "$katalog" | xargs -0 grep -l "$slowo2"

1 użytkowników online, w tym zalogowanych: 0, gości: 1