Copie arquivos com exclusão do sufixo no nome

4

Como pode ser feito copiando arquivos com algum sufixo no final, no mesmo diretório com o menor comando possível:

Exemplo tem diretório contendo arquivos:

  • cassandra.yml.example
  • database.yml.example
  • facebook.yml.example
  • cache.yml.example
  • system.yml.example

precisa copiá-los e ter nomes como este:

  • cassandra.yml
  • database.yml
  • facebook.yml
  • cache.yml
  • system.yml
por Vitaliy Yanchuk 07.12.2012 / 13:06

2 respostas

4

for x in /path/to/*.example
do
  cp "$x" "${x%%.example}"
done

Fará uma cópia sem o .example na mesma pasta que o arquivo de origem.

    
por 07.12.2012 / 16:43
0

Requer find e um shell que suporta manipulação de string e substituição de processo (por exemplo, Bash e qualquer compatível):

while read file
    do cp $file ${file%%.ext}
done < <(find -type f)

Se você quiser copiar todos os arquivos sem extensões, você pode usar o glob (*) ao invés de ext.

    
por 09.12.2012 / 23:01

Tags