[Risolto] Find + Rename

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15719
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

[Risolto] Find + Rename

Messaggio da wilecoyote »

) Salve, per fare una rinomina collettiva nel sistema, ho pensato d'usare find per identificare i bersagli e rename per eseguire la rinomina.

Frugando le pagine man sono pervenuto a questo commando:

Codice: Seleziona tutto

sudo find /usr/local/share/icons/redglass/cursors/ -name '*.xmc' -exec rename 's/\.xmc$//' *.xmc \;
Il comportamento però è bipolare, se simulo la rinomina, coll'opzione --nono, sembra funzionare, ovvero trova i bersagli, se l'eseguo non li trova, eppur i bersagli ci sono.

Posto output esplicativo:

Codice: Seleziona tutto

wilecoyote@CactusField:~$ sudo find /usr/local/share/icons/redglass/cursors/ -name '*.xmc' -exec rename --nono 's/\.xmc$//' *.xmc \;
[sudo] password di wilecoyote: 
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
rename(*.xmc, *)
wilecoyote@CactusField:~$ sudo find /usr/local/share/icons/redglass/cursors/ -name '*.xmc' -exec rename 's/\.xmc$//' *.xmc \;
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
Can't rename *.xmc *: No such file or directory
wilecoyote@CactusField:~$ ls /usr/local/share/icons/redglass/cursors/*/usr/local/share/icons/redglass/cursors/grab.xmc
/usr/local/share/icons/redglass/cursors/hand1.xmc
/usr/local/share/icons/redglass/cursors/ll_angle.xmc
/usr/local/share/icons/redglass/cursors/lr_angle.xmc
/usr/local/share/icons/redglass/cursors/question_arrow.xmc
/usr/local/share/icons/redglass/cursors/sb_down_arrow.xmc
/usr/local/share/icons/redglass/cursors/sb_left_arrow.xmc
/usr/local/share/icons/redglass/cursors/sb_right_arrow.xmc
/usr/local/share/icons/redglass/cursors/ul_angle.xmc
/usr/local/share/icons/redglass/cursors/ur_angle.xmc
Dov'è che sbaglio ?

:: Ciao

P.S. sì l'ho so, potrei facilmente rimuovere i file, eliminare l'estensione dagli originali presenti nella $Home, e poi ricopiarli nella locazione.

Ma preferisco imparare cose nuove, come far funzionare 'sto comando.
Ultima modifica di wilecoyote il venerdì 3 maggio 2024, 21:50, modificato 1 volta in totale.
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: Find + Rename

Messaggio da UbuNuovo »

@wilecoyote non devi mettere la ricerca dei file per rename (*.xmc), il file viene passato da find -> xargs -> rename.
Per sicurezza, conviene anche inserire l'opzione per "agire" su file o directory, quindi, se il resto è corretto:

Codice: Seleziona tutto

sudo find /usr/local/share/icons/redglass/cursors/ -type f -name '*.xmc' -exec rename 's/\.xmc$//' '{}' \;
Salva l'Ucraina! 🇺🇦
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15719
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Find + Rename

Messaggio da wilecoyote »

) Salve, dopo un attimo di smarrimento, il tempo di capire che la causa era il trattino prima della f e non dell'opzione per simulare --nono, rimuovendolo ha funzionato impeccabilmente.

Codice: Seleziona tutto

wilecoyote@CactusField:~$ sudo find /usr/local/share/icons/redglass/cursors/ -type -f -name '*.xmc' -exec rename --nono 's/\.xmc$//' '{}' \;
find: Argomento sconosciuto a -type: -
Grazie dell’aiuto. :birra:

:: Ciao
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4457
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu Mate 22.04.1 LTS
Sesso: Maschile
Contatti:

Re: [Risolto] Find + Rename

Messaggio da UbuNuovo »

Sì, l'avevo messo per sbaglio, per fortuna ho riguardato il post, me ne sono accorto e l'ho corretto.
Salva l'Ucraina! 🇺🇦
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti