Domanda

Sto usando Linux con Gedit che ha la meravigliosa abitudine di creare un file di temperatura con un tilde alla fine per ogni file che modifichi.

Sto cercando di spostare tutti questi file contemporaneamente in una cartella diversa usando quanto segue:

find . -iname “*.php~” -exec mv {} /mydir \;

Tuttavia, ora mi sta dando errori di sintassi, come se stesse cercando tramite ogni file e provando a spostare il pezzo di testo. Voglio solo spostare tutti i file che terminano in .php ~ in un'altra directory. Qualche idea su come lo faccio?

Saluti ke

È stato utile?

Soluzione

Prova questo one-liner:

for D in `find . -iname "*.php~"`; do mv ${D} /mydir; done

Per riferimento futuro, se si accede alla scheda Modifica> Preferenze> Editor, è presente la casella di controllo per "Crea una copia di backup dei file prima di salvare" che è il ragazzo responsabile della creazione della versione Tilde.

Altri suggerimenti

GNU Find

find . -iname "*.php~" -exec mv "{}" /mydir +;

o

for file in *.php~
do
 echo mv "$file" /mydir
done
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top