[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: usare un parametro in pipe.



Il 10 ottobre 2012 10:43, Federico Di Gregorio <fog@dndg.it> ha scritto:
> On 10/10/2012 10:34, Gollum1 wrote:
> [snip]
>> la stringa di comando dovrebbe essere questa (in effetti il print mi
>> scrive i nomi dei file dei soli file che hanno il 100% di recupero):
>>
>> cat recovery.list | awk '($3 = "100%") {print $6}'
>>
>> però poi come lo passo a ntfsundelete?
>>
>> il formato di ntfs undelete sarebbe:
>>
>> ntfsundelete -u -m $nomefile
>>
>> quindi la cosa dovrebbe essere del tipo:
>>
>> cat recovery.list | awk '($3 = "100%") {print $6}' | ntfsundelete -u
>> -m $nomefile
>>
>> ma come faccio a dirgli che $nomefile è il risultato che gli arriva
>> dalla pipe? mi ricordo che esisteva un parametro della riga di comando
>> (un simbolo in realtà), che serviva allo scopo, ma non mi ricordo più
>> qual'é...
>
> In questi casi xargs è maggico:
>
> cat recovery.list | awk '($3 = "100%") {print $6}' \
>   | xargs -n1 ntfsundelete -u -m
>
> Se nei nomi dei file hai degli spazi, stampali con print0 e dai a xargs
> il parametro -0
>

prima di questa tua mail avevo provato con il seguente comando:

cat recovery.list | awk '(($3 = "100%") && (&6 != "<none>") && ($6 !=
"") && ($6 != "Filename")) {print $6}' | xargs -i'{}' ntfsundelete
/dev/sda3 -u -m '{}' >> /result.txt 2>&1

sta lavorando, ma usando tail -f su /result.txt (in un'altra shall),
vedo che ha ancora tante entry in cui non c'é il nome, oppure in cui
l'age è posto a 0% invece che a 100%...

un ulteriore problema che sto vedendo in questo momento guardando il
tail, è che tanti file non li recupera perché già esistono. il
problema è dovuto al fatto che non recupera la struttura delle
directory, ma solo i file, e li sbatte tutti in una unica directory...
qualcuno di voi ha idea di come si potrebbe ovviare a questo problema?

-- 
Gollum1
Tesssssoro, dov'é il mio tessssoro...


Reply to: