mam problem mam nadzieję, że ktoś będzie w stanie pomóc ...-f grep na plikach w formacie skompresowanym folderze
ja wykonywania rekurencyjnej fgrep/grep -f wyszukiwania na skompresowanego folderu za pomocą górę następujące polecenie w jednym z moich programów:
polecenie używam
grep -r -i -z -I -f /path/to/pattern/file /home/folder/TestZipFolder.zip
Wewnątrz pliku sygnatur jest ciąg „Dog”, który staram się szukać.
W spakowanym folderze znajduje się wiele plików tekstowych zawierających ciąg "Pies".
Polecenie grep -f powodzeniem wyszukuje pliki tekstowe zawierające ciąg „Dog” w 3 plikach wewnątrz skompresowaniu folderu, ale wypisuje wyjście wszystko w jednej linii, a niektóre dziwne znaki pojawiają się na końcu tj PK (jak pokazane poniżej). I gdy próbuję i wydrukować dane wyjściowe do pliku w moim programie inne znaki pojawiają się na końcu, takich jak ^B^T^@
Wyjście z poleceniem grep -f:
TestZipFolder/test.txtThis is a file containing the string DogPKtest1.txtDog, is found again in this file.PKTestZipFolder/another.txtDog is written in this file.PK
Jak dostanę każdego pliki, w których napis "Pies" został wydrukowany w nowej linii, więc nie są one zgrupowane razem w jednym wierszu, tak jak teraz? Również, gdzie są "PK" i inne dziwne znaki pojawiające się na wyjściu i jak mogę im zapobiec?
Pożądany wyjście
TestZipFolder/test.txt:This is a file containing the string Dog
TestZipFolder/test1.txt:Dog, is found again in this file
TestZipFolder/another.txt:Dog is written in this file
Coś wzdłuż tych linii, dzięki czemu użytkownik jest w stanie zobaczyć, gdzie łańcuch można znaleźć w pliku (rzeczywiście dostać wyjście w tym formacie, jeśli uruchomić grep polecenie na pliku, który nie jest plikiem zip).
twoja pomoc z tym jest bardzo doceniana, dzięki
czy jest jakikolwiek sposób, abym mógł pokazać, gdzie jest mecz w pliku, jak w poleceniu grep w moim pytaniu ?, a nie tylko wyświetlać plik, w którym się znajduje? - dziękuję bardzo –
czy możesz podać żądane wyjście? Jeśli tak, mogę spróbować. – blackSmith
Zaktualizowałem moje pytanie, aby wyświetlić pożądany wynik. Jest to ten sam format danych wyjściowych, jeśli uruchomisz polecenie grep w folderze, który nie jest plikiem zip (tzn. Podaje nazwę pliku, w którym znaleziono dopasowanie, a następnie dwukropek pokazuje, gdzie jest) dzięki dużo –