[Linuxtrent] Re: Esempi shell.

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent@xxxxxxxxxxxxx
  • Date: Fri, 28 Oct 2011 16:38:22 +0200

On Fri, Oct 28, 2011 at 14:56, Antonio Galea <antonio.galea@xxxxxxxxx> wrote:
>
> Questo è più semplice, però:
>
>  rename 's/_torre_/ torre /' *_torre_*.txt

Dimenticavo: il globbing viene fatto dalla shell _prima_ di lanciare
il comando, per costruire la stringa finale. I limiti sono abbastanza
generosi, ma se hai qualche centinaio di files con nomi lunghi e
che soddisfano il globbing, scoprirai quanto è lunga la massimo
una linea di comando ;-)

Per aggirare il problema esiste una soluzione "standard"

   find . -name \*_torre_\*.txt -print0 | xargs -0 rename 's/_torre_/ torre /'

che funziona indipendentemente dal numero di files trovati.

Antonio

NB: per ottenere una soluzione perfettamente equivalente al
      globbing della shell, occorre dire a find di non scendere
      nelle sottocartelle:
         find . -mindepth 1 -maxdepth 1 ....
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: