Napisz skrypt powłoki, który znajdzie i wyszuka nazwę pliku i zawartość w 1 linii
Aby zobaczyć wszystkie pliki php zawierające „abc”, mogę użyć tego prostego skryptu:
find . -name "*php" -exec grep -l abc {} \;
Mogę pominąć -l i otrzymam fragmenty zawartości zamiast nazw plików jako wyniki:
find . -name "*php" -exec grep abc {} \;
To, co chciałbym teraz, to wersja, która robi obie jednocześnie, ale w tej samej linii.
Oczekiwany wynik:
path1/filename1: lorem abc ipsum
path2/filename2: ipsum abc lorem
path3/filename3: non abc quod
Mniej więcej takgrep abc *
robi.
Edytować: Chcę użyć tego jako prostego skryptu powłoki. Byłoby wspaniale, gdyby wyjście było w jednej linii, więc możliwe byłoby dalsze pomijanie. Ale nie jest konieczne, aby skrypt był tylko jedną linią, i tak umieszczam go w pliku skryptu bash.
Edytuj 2: Później znalazłem „ack”, które jest świetnym narzędziem i używam tego teraz w większości przypadków zamiast grep. Robi to wszystko i więcej.http://betterthangrep.com/ Ty byś pisałack --php --nogroup abc
aby uzyskać pożądany rezultat