Sono riuscito a spararmi dove fa male (davvero male) riformattando una partizione che conteneva dati preziosi. Ovviamente non era intenzionale, ma è successo.
Tuttavia, sono riuscito a utilizzare testdisk
e photorec
recuperare la maggior parte dei dati. Quindi ora ho tutti quei dati distribuiti in quasi 25.000 directory. La maggior parte dei file sono file .txt, mentre il resto sono file di immagine. Esistono più di 300 file .txt in ciascuna directory.
Posso grep
o usare find
per estrarre determinate stringhe dai file .txt e inviarle in un file. Ad esempio, ecco una riga che ho usato per verificare che i miei dati siano nei file recuperati:
find ./recup*/ -name '*.txt' -print | xargs grep -i "searchPattern"
Posso generare "searchPattern" in un file, ma questo mi dà solo quel modello. Ecco cosa mi piacerebbe davvero realizzare:
Esamina tutti i file e cerca una stringa specifica. Se quella stringa viene trovata in un file, cat TUTTI i contenuti di quel file in un file di output. Se il modello si trova in più di un file, aggiungere il contenuto dei file successivi a quel file di output. Si noti che non voglio semplicemente generare lo schema che sto cercando, ma TUTTI i contenuti del file in cui si trovano gli schemi.
Penso che questo sia fattibile, ma non so come afferrare tutto il contenuto di un file dopo aver estratto un modello specifico da esso.