Udało mi się zastrzelić w miejscu, w którym boli (naprawdę źle), zmieniając format partycji zawierającej cenne dane. Oczywiście nie było to zamierzone, ale się stało.
Udało mi się jednak wykorzystać testdisk
i photorec
odzyskać większość danych. Więc teraz mam wszystkie te dane rozproszone w prawie 25 000 katalogów. Większość plików to pliki .txt, a pozostałe to pliki obrazów. W każdym katalogu znajduje się ponad 300 plików .txt.
Mogę grep
lub mogę użyć find
do wyodrębnienia niektórych ciągów z plików .txt i przesłania ich do pliku. Na przykład oto wiersz, którego użyłem do sprawdzenia, czy moje dane znajdują się w odzyskanych plikach:
find ./recup*/ -name '*.txt' -print | xargs grep -i "searchPattern"
Mogę wypisać „searchPattern” do pliku, ale to tylko daje mi ten wzór. Oto, co naprawdę chciałbym osiągnąć:
Przejrzyj wszystkie pliki i poszukaj określonego ciągu. Jeśli ten ciąg zostanie znaleziony w pliku, cat CAŁĄ zawartość tego pliku do pliku wyjściowego. Jeśli wzorzec znajduje się w więcej niż jednym pliku, dołącz zawartość kolejnych plików do tego pliku wyjściowego. Zauważ, że po prostu nie chcę wypisywać szukanego wzorca, ale CAŁĄ zawartość pliku, w którym znaleziono wzorce.
Myślę, że jest to wykonalne, ale po prostu nie wiem, jak pobrać całą zawartość pliku po wytłoczeniu z niego określonego wzorca.