----- Messaggio originale -----
> Da: pac <pacm...@gmail.com> > A: debian <debian-italian@lists.debian.org> > Cc: > Inviato: Lunedì 24 Novembre 2014 12:09 > Oggetto: Modificare in massa i permessi : problema con file e dir con spazi e > underscore > > Vorrei modificare i permessi nella mia directory Documenti come segue > Tutte le dir 775 > Tutti i file 664 > Per far questo ho tentato di utilizzare i seguenti comandi : > find percorsoincuicambiareipermessi -type f | xargs chmod 664 per > modificare solo i file > find percorsoincuicambiareipermessi -type d | xargs chmod 775 per > modificare solo le directory > Solo che in questo modo mi salta directory e file in cui ci sono degli > spazi o underscore perchè legge solo il primo vocabolo e non a seguire > dopo lo spazio > Come posso modificare questo script in modo tale che comprenda anche > file e dir con spazi e underscore ? > > Ciao, Tempo fa avevo trovato in rete lo script qui sotto, che rinomina file ricorsivamente, inserendo underscore al posto dello spazio e mettendo tutte le lettere in minuscolo; magari ti torna utile. Ovviamente puoi togliere la parte delle lettere; fai comunque delle prove prima, per vedere se fa al caso tuo. Ciaociao :) - - - #!/bin/bash # Convert filenames to lowercase # and replace characters recursively ##################################### if [ -z $1 ];then echo Give target directory; exit 0;fi find "$1" -depth -name '*' | while read file ; do directory=$(dirname "$file") oldfilename=$(basename "$file") # newfilename=$(echo "$oldfilename" | tr 'A-Z' 'a-z' | tr ' ' '_' | sed 's/_-_/-/g') newfilename=$(echo "$oldfilename" | tr 'A-Z' 'a-z' | tr ' ' '_') if [ "$oldfilename" != "$newfilename" ]; then mv "$directory/$oldfilename" "$directory/$newfilename" echo ""$directory/$oldfilename" ---> "$directory/$newfilename"" #echo "$directory" #echo "$oldfilename" #echo "$newfilename" #echo fi done exit 0 - - - -- Per REVOCARE l'iscrizione alla lista, inviare un email a debian-italian-requ...@lists.debian.org con oggetto "unsubscribe". Per problemi inviare un email in INGLESE a listmas...@lists.debian.org To UNSUBSCRIBE, email to debian-italian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: https://lists.debian.org/947209617.165941.1416828717717.javamail.ya...@jws11160.mail.ir2.yahoo.com