Truncar nomes de pastas após o primeiro espaço

1

Eu tenho um diretório cheio de subdiretórios com nomes como

  • 01 - título da pasta
  • 02 - segundo título
  • 03 - etc
  • 04 - etc . . .
  • 30 - pasta final

Eu quero truncar todos esses nomes de pastas para serem os números, assim eles apareceriam assim:

  • 01
  • 02
  • 03

existe uma maneira de escrever um script ou um comando simples que irá realizar isso?

    
por kitties heart 03.02.2017 / 21:32

1 resposta

2

Usando o utilitário de renomeação baseado em Perl (que parece ser o Ubuntu fornece), você poderia fazer a operação de renomeação como esta (substituindo * com qualquer lista de diretórios que você realmente queira):

rename 's/^(\S+).*/$1/' *

(Sugiro usar rename -n no começo para ver o que seria feito antes realmente renomeando qualquer coisa.)

A string de substituição pede para corresponder a uma sequência de não espaço caracteres ( \S+ ) no início ( ^ ) do nome do arquivo original, seguido por qualquer coisa ( .* ), e substituindo-o pelo primeiro correspondido grupo ( $1 ), que foi o segmento inicial sem espaço.

    
por 03.02.2017 / 21:52