Ciao, Il 13/10/2012 10:37, Gollum1 ha scritto:
[...] quindi alla fine la soluzione di tutto è stato di usare 3 script separati... il primo script è quello generale, che richiama ntfsundelete e genera la lista dei file da recuperare, il secondo script è quello di awk, che genera le coppie inode - nome da assegnare al file il terzo script è quello invocato a xargs (nel primo script) che non fa altro che richiamare a sua volta ntsfundelete con i parametri per il recupero del singolo file... è stranissimo il fatto che non si possa mettere tutto in un unico script... (probabilmente sono io che non conosco abbastanza awk, xargs e bash, ma dai man dei singoli programmi, non sono riuscito a tirarne fuori nulla)
Innanzitutto non uso e spero di non dover mai usare ntfsundelete, quindi per il primo punto mi sono affidato al tuo allegato aggiungendo ', " e spazi per rendere il tutto più simile alla realtà emersa nella discussione. Per la verifica del terzo punto mi sono affidato a `touch` per produrre i files con i nomi corretti (ma qui sotto ho riportato ntfsundelete). Supponendo inoltre di essere interessati a files non vuoti, i miei vaneggiamenti hanno prodotto:
awk '($3=="100%")&&($5>0){for(i=2;i<6;i++) $i=""; gsub("['\''\"]","."); print }' test_undelete.txt | xargs -L1 bash -c 'ntfsundelete -u -m "$*" -o "$0-$*"'
Quindi sì: è possibile fare il tutto con un pipe se generi al volo "test_undelete.txt" e lo passi (via pipe ;-) ) ad awk.
Il tutto nell'attesa dei tuoi script ;-) Ciao -- Alessandro T. R: Perché leggiamo dall'alto al basso e da sinistra a destra. D: Perché dovrei iniziare la risposta all'e-mail dopo il testo citato?