Devo usare -r con il comando cp quando uso il comando find in Linux?


0

Ho documenti sparsi tra più directory in un determinato percorso, ad es. / Media / nome_divisione / nome_directory . Ho usato il findcomando per individuare alcuni file .doc, docx, ad es . Ecc

find . -type f -regextype posix-egrep -regex '.*/.*/.*\.(doc|docx)' -exec cp -r {} somedirectory \;

So che il comando cp -rviene utilizzato se sto copiando i file da una determinata directory, ma nel caso del mio findcomando, è necessario e se sì o no, perché?

Risposte:


2

Il flag -r in cp sta per ricorsivo. Lo usi quando copi intere cartelle, perché indica a cp di scendere nella cartella e di copiare in modo ricorsivo tutto ciò che trova all'interno.

Non è necessario eseguire questa operazione quando si copiano solo singoli file, poiché sono (concettualmente) una singola entità. Come dice Ярослав Рахматуллин, l'esecuzione di cp in modo ricorsivo su un singolo file non ha senso, perché non c'è nulla su cui contare.

Vedi http://en.wikipedia.org/wiki/Recursion

O digitare man cpper ulteriori informazioni.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.