Script Bash - Localizando arquivos e manipulando caminhos

1

Então, estou tentando escrever um script que atinja o seguinte:

  1. Lê o arquivo UID a partir de um arquivo de texto
  2. Procura por localização de arquivo com base no UID
  3. Copia o arquivo, incluindo a estrutura do caminho para um novo local.

Temos mídias que estão sendo transferidas manualmente, que eu quero automatizar. Cada mídia tem um UID, que estão juntos em um único arquivo. A mídia está em um local específico, sei onde o diretório pai está, mas não o diretório individual de cada item de mídia.

Atualmente, minha abordagem é a seguinte:

  • While loop até o final do arquivo com o UID
  • Encontre o caminho da mídia correspondente com base no UID
  • Caminho de saída para o arquivo temporário, pois a estrutura do diretório de mídia é importante, um exemplo da estrutura do caminho '../Medias/Shirts/shirtA.jpg', '../Medias/Shirts/shirtA_1.jpg' ou '../ Medias / Pants / pantsA.jpg'
  • Use o arquivo temporário para copiar a mídia para um novo local, por exemplo, 'cp $ MEDIAPATH / $ UID * $ TARGET'

Então eu tenho duas perguntas:

  1. Existem muitos itens de mídia, estou usando find e dirname e estou testando com alguns dados de amostra menores, tenho certeza de que há uma maneira mais eficiente de fazer isso do que a minha? %código%
  2. Agora, para copiar a mídia para seu novo local, não sei como fazer isso porque não estou interessado em todo o caminho, ou seja, o caminho para o item de mídia pode ser '/ home / user / media / pants / pantsA.jpg 'Considerando que eu só preciso do / pants /, porque ao copiar quero manter essa estrutura, ou seja,' ../targetDIR/pants/ ', etc?
por Grinch91 28.02.2017 / 17:01

0 respostas