Newsgroup: it.comp.os.linux.iniziare
Titolo: cancellare tutti i file che contengono la parola firefox da una directory o da più directory

ciao vorrei cancellare tutti questi file
 
/usr/share/icons/nuoveXT2/16x16/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/16x16/apps/firefox.png
/usr/share/icons/nuoveXT2/16x16/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/22x22/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/22x22/apps/firefox.png
/usr/share/icons/nuoveXT2/22x22/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/24x24/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/24x24/apps/firefox.png
/usr/share/icons/nuoveXT2/24x24/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/32x32/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/32x32/apps/firefox.png
/usr/share/icons/nuoveXT2/32x32/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/36x36/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/36x36/apps/firefox.png
/usr/share/icons/nuoveXT2/36x36/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/48x48/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/48x48/apps/firefox.png
/usr/share/icons/nuoveXT2/48x48/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/64x64/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/64x64/apps/firefox.png
/usr/share/icons/nuoveXT2/64x64/apps/mozilla-firefox.png
/usr/share/icons/nuoveXT2/72x72/apps/firefox-icon.png
/usr/share/icons/nuoveXT2/72x72/apps/firefox.png
/usr/share/icons/nuoveXT2/72x72/apps/mozilla-firefox.png
 
in un colpo solo, usando rm o altro c è un modo di dargli l'opzione -r 
relata solo ai file che si chiamano *firefox* e fare si che cerchi 
ricorssivamente nelle sotto directory ?
 
grazie ciao.


Puoi fare cosi':
 
find /usr/share/icons/nuoveXT2 -type f -name '*firefox*.png' -delete
 
oppure (se i file sono tutti alla stessa profondita' di directory)
 
rm /usr/share/icons/nuoveXT2/*/*firefox*.png
 
Un'altro modo e' usare il nuovo globbing di bash 4 e fare
 
shopt -s globstar
rm /usr/share/icons/nuoveXT2/**/*firefox*.png
 
 
-- 
Cio' che si vede, e'.
 

 rm /usr/share/icons/nuoveXT2/**/*firefox*.png
grazie ho usato find che mi ha veramente colpito per la ricorsività 
nelle subdirectory veramente notevole per caso posso fare anche la 
stessa cosa con cp quando per esempio copio dei cd che magari hanno 
track* come prefisso verso l'ipad e poi esagerando è possibile copiare 
mettendo un prefisso che so LedZeppelinIV davanti a track*?
nel senso il gestore file pcmanfm mi permette di fare un mega copia 
incolla, ma ho la sensazione che usare cp sia + rapido e + efficiente a 
livello di ram e cache.
 
comunque grazie per la scoperta di find! purtroppo io man lo leggo ma ho 
difficoltà a interpretare la sintassi:
per esempio 	
 
  enrico@ubuntu:~$ sudo cp -i -S=LATTER 
/home/enrico/Music/mp3/Unknown/*Track* /media/ipod4g
cp: overwrite `/media/ipod4g/01 - Track 1.mp3'? n
cp: overwrite `/media/ipod4g/02 - Track 2.mp3'? n
cp: overwrite `/media/ipod4g/03 - Track 3.mp3'? n
cp: overwrite `/media/ipod4g/04 - Track 4.mp3'? n
cp: overwrite `/media/ipod4g/05 - Track 5.mp3'? n
cp: writing `/media/ipod4g/08 - Track 8.mp3': Input/output error
cp: cannot create regular file `/media/ipod4g/09 - Track 9.mp3': 
Input/output error
cp: cannot create regular file `/media/ipod4g/10 - Track 10.mp3': 
Input/output error
Quando capita un errore finchè non stacco fisicamente il device ipod4g 
non riesco a riavere il controllo del mouse si blocca tutto. e poi forse 
l'opzione -S=latter è relata al backup e quindi non vale per la semplice 
copia da quello che ho capito con il manuale
 
sudo cp -i -v /home/enrico/Music/mp3/Unknown/*Track* Latter*Track* 
/media/ipod4g
cp: overwrite `/media/ipod4g/01 - Track 1.mp3'? y
Volevo provare a cambiare il nome destinazione con un prefisso diverso
ma se il nome destinazione è *LatterTrack* o LatterTrack* non cambia 
comunque il nome destinazione.
* If two file names are given, `cp' copies the first file to the
      second.
(info coreutils 'cp invocation')
 

 rm /usr/share/icons/nuoveXT2/**/*firefox*.png
 
Fico, questo m'era sfuggito in bash4.


Non ho capito bene cosa vuoi fare, comunque per copiare tutti i file che
corrispondono a un pattern:
 
find /basedir -type f -name 'track*.mp3' -exec cp -t /path/a/destinazione {} +


 find /basedir -type f -name 'track*.mp3' -exec cp -t /path/a/destinazione {} +
 
volevo copiare dei nomi file che hanno un inizio diverso tipo
01 - track*.mp3 in un ipad con il suffisso cambiato tipo Latter in modo 
che non si mescolino i cd dei vari artisti tutti gli 01 tutti gli 02 e 
via cosi'.
 
find: missing argument to `-exec'
 
nice find ~/Music/mp3/Unknown -type f -name '*Track*.mp3' -exec cp -t 
/media/ipod4g Latter{} +
 
ma in questo modo vengono copiate solo le tracce, senza modificare il 
nome poi il programma alla traccia 5 o altra va in errore il terminale e 
tutto si pianta finchè non stacco l'ipod fisicamente non riesco a 
riprendere la sessione. forse dovrei dare un -f al comando cp? e come 
faccio a creare i file con un prefisso diverso?

 faccio a creare i file con un prefisso diverso?
 
Se vuoi copiare e contestualmente cambiare il nome e' un poco piu'
complicato; potresti scrivere un piccolo script che lo fa e poi usare -exec
tuoscript.sh. Per esempio (da adattare e non testato):
 
#!/bin/bash
 
# tuoscript.sh
 
destdir=$1
shift
 
for f in "$@"; do
  cp -- "$f" "${destdir}/prefisso $f"
done
 
------------
 
 
e poi usare
 
find ~/Music/mp3/Unknown -type f -name '*Track*.mp3' -exec tuoscript.sh "/media/ipod4g Latter" {} +


 "/media/ipod4g Latter" {} +
 
Nel caso che "Latter" fosse il prefisso che volevi aggiungere, deve essere
cosi':
 
find ~/Music/mp3/Unknown -type f -name '*Track*.mp3' -exec tuoscript.sh "/media/ipod4g" {} +
 
e in tuoscript.sh sostituisci "prefisso" con "Latter".


 find ~/Music/mp3/Unknown -type f -name '*Track*.mp3' -exec cp -t "/media/ipod4g Latter" {} +
 
 
 
 
Questa è la situazione nella directory di partenza ho eseguito un check 
File system da disk utility su ipod4g per essere sicuro che non ci 
fossero problemi in scrittura e da root ho dato a tutti i permessi di 
scrittura lettura.
 
enrico@ubuntu:~$ cd ~/Music/mp3/Unknown
enrico@ubuntu:~/Music/mp3/Unknown$ dir
01\ -\ Track\ 1.mp3  05\ -\ Track\ 5.mp3  09\ -\ Track\ 9.mp3
02\ -\ Track\ 2.mp3  06\ -\ Track\ 6.mp3  10\ -\ Track\ 10.mp3
03\ -\ Track\ 3.mp3  07\ -\ Track\ 7.mp3  ripping.log
04\ -\ Track\ 4.mp3  08\ -\ Track\ 8.mp3  Unknown\ -\ Unknown\ (mp3).m3u
 
find /home/enrico/Music/mp3/Unknown -type f -name '*Track*.mp3' -exec cp 
-t "/media/ipod4g Latter" {} +
cp: accessing `/media/ipod4g Latter': No such file or directory
 
se cambio in
 
find /home/enrico/Music/mp3/Unknown -type f -name '*Track*.mp3' -exec cp 
-i -u -t "/media/ipod4g" 'Latter{}' +
scrive i file con il nome originale e interrompo quello che non capisco 
è perchè mi blocca schermo e possibilità, vorrei che fosse un lavoro in 
background a bassissima priorità e invece blocca tutto...
:/media/ipod4g$ dir
01\ -\ Track\ 1.mp3
02\ -\ Track\ 2.mp3
03\ -\ Track\ 3.mp3
04\ -\ Track\ 4.mp3
05\ -\ Track\ 5.mp3
06\ -\ Track\ 6.mp3
07\ -\ Track\ 7.mp3

 04\ -\ Track\ 4.mp3  08\ -\ Track\ 8.mp3  Unknown\ -\ Unknown\ (mp3).m3u
 
Che schifezza;-)  considera che se vuoi puoi renderli meno "tossici" 
con detox:
 
******************************
Package: detox
Description-en: utility to replace problematic characters in filenames
 Detox is a utility designed to clean up filenames. It replaces difficult to
 work with characters, such as spaces, with standard equivalents. It will also
 clean up filenames with UTF-8 or Latin-1 (or CP-1252) characters in them.
 .
 Features:
 .
  * Removal or replacement of upper ASCII Latin-1 (ISO 8859-1) characters
  * Removal or replacement of UTF-8 encoded Unicode characters.
  * Removal or replacement of spaces and other potentially tricky characters
  * Trimming of excessive "_" and "-"s
  * Directory recursion, dry runs, verbose listings
 .
 It is designed with safety in mind. It won't overwrite a file that already
 exists, and it doesn't touch special files if not requested.
Homepage: 
http://detox.sourceforge.net
 
*******************************************
 
-- 
Tanti saluti
 

 Description-en: utility to replace problematic characters in filenames
Perň č strano, se faccio ls invece di dir l'output diventa piů in linea 
con quello che visualizzo su pcmanfm.
 
enrico@ubuntu:~/Music/mp3/Unknown$ dir
01\ -\ Track\ 1.mp3  05\ -\ Track\ 5.mp3  09\ -\ Track\ 9.mp3
02\ -\ Track\ 2.mp3  06\ -\ Track\ 6.mp3  10\ -\ Track\ 10.mp3
03\ -\ Track\ 3.mp3  07\ -\ Track\ 7.mp3  ripping.log
04\ -\ Track\ 4.mp3  08\ -\ Track\ 8.mp3  Unknown\ -\ Unknown\ (mp3).m3u
enrico@ubuntu:~/Music/mp3/Unknown$ ls


 04 - Track 4.mp3  08 - Track 8.mp3  Unknown - Unknown (mp3).m3u
 
LOL!! dir e' dai tempi del DOS che non lo davo, credevo fosse un alias 
(o uno script) di ls per utonti, invece e' un eseguibile ELF con tanto 
di manpagina e ce l'ha anche nelle info delle coreutils! forse un tempo 
era cosi', magari adesso faranno pure arc per l'italiano.
 
-- 
Tanti saluti