Script terminale mac Os

Al momento uso uno scriptino molto pratico che è questo

cd /Users/franco/Desktop/report
find . -type f -print0 | xargs -0 rm -f
cd /Users/franco/Desktop/stampa
find . -type f -print0 | xargs -0 rm -f
cd /Users/franco/Desktop/taglio
find . -type f -print0 | xargs -0 rm -f

che mi svuota tutto il contenuto di 3 cartelle
però va direttamente in fumo

come si può modificare in modo che anzichè cancellare i file li sposti nel cestino ?

Usa il comando mv verso la cartella del cestino

Ho provato mettendo una riga che ho trovato su un sito ma continuava a darmi primo nome file che dovrebbe cancellare is not a directory

find . -type f -exec mv {} ~/.Trash \ ;

Potresti farlo con Automator c’e’ l’azione “Move Finder items to Bin” che probabilmente ti semplifica il tutto senza bisogno di usare script?

ah naturalmente se vuoi puoi pulire ogni cartella con una riga senza entrare nella directory con cd

find /Users/franco/Desktop/report -type f -exec mv {} ~/.Trash \ ;

find /Users/franco/Desktop/stampa -type f -exec mv {} ~/.Trash \ ;

find /Users/franco/Desktop/taglio -type f -exec mv {} ~/.Trash \ ;

Grazie 1000

alcune volte non cancella, se lo lancio a mano dal terminale vedo che si pianta perchè da permission denied
devo inserire qualcosa che forzi ?

sudo?

rompe di mettere la password poi rispetto all’altro script che pialla tutto sempre senza chiedere nulla

per farla semplice (ma un po’ una porcata) crei lo script cancella_tutto.sh

#!/bin/bash

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/report -type f -exec mv {} ~/.Trash \ ;

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/stampa -type f -exec mv {} ~/.Trash \ ;

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/taglio -type f -exec mv {} ~/.Trash \ ;

Salvi poi un bel sudo chmod +x cancella_tutto.sh

e quando te pare lo esegui…
per tutto i resto ti insegno un trucco sul terminale: man + nome comando :dunnasd:

vorrei giusto dire “ocio” ad avere comandi cosi con la password in chiaro e soprattutto sudo :asd:

eh infatti l’ho scritto che è una porcata ma è la cosa più faciel per lui da capire vedere e “toccare” :dunnasd:

a sto punto lancia lo script con il sudo cosi’ metti la password una volta sola e non la lasci in chiaro

C’è un altra fregatura :/ a cui non so se si può porre rimedio
In pratica il programma che genera i file che finiscono lì dentro fa quelli che finiscono nella cartella layout col nome nomefile_layout, mentre sia quello che genera in stampa che quello in taglio si chiama “nomefile” e basta e nel cestino ne finisce solo 1 dei 2 l’altro invece viene cancellato (a differenza di quando cancelli la roba a mano che se metti 2 cose nel cestino con lo stesso nome a uno dei 2 aggiunge tipo nomefile.data)
Si può fare qualcosa ? Ok così perdo solo 1 file anziché tutti e 3 :asd: però è comunque abbastanza inutile

#!/bin/bash

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/report -type f -execdir mv {} ~/.Trash/“$(date +%Y%m%d_%H%M%S)-report-{}” ;

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/stampa -type f -execdir mv {} ~/.Trash/“$(date +%Y%m%d_%H%M%S)-stampa-{}” ;

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/taglio -type f -execdir mv {} ~/.Trash/“$(date +%Y%m%d_%H%M%S)-taglio-{}” ;

Facciamo che i 10 euro del compenso li metti nel patreon del forum e siamo a posto.

mi sembra equo e solidale
oggi pomeriggio/sera lo faccio

grazie ancora

Bella li Speed… @Crius prossimo mese possiamo mettere 2% di cpu in più per fare il gigawatt thread :asd:

mi dice

-execdir: no terminating “;” or “+”

\ prima del ; finale

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/report -type f -execdir mv {} ~/.Trash/“$(date +%Y%m%d_%H%M%S)-report-{}” \ ;

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/stampa -type f -execdir mv {} ~/.Trash/“$(date +%Y%m%d_%H%M%S)-stampa-{}” \ ;

echo “lamiapassword”|sudo -S find /Users/franco/Desktop/taglio -type f -execdir mv {} ~/.Trash/“$(date +%Y%m%d_%H%M%S)-taglio-{}” \ ;