mover arquivos que correspondam a nomes de arquivos em outro diretório

mover arquivos que correspondam a nomes de arquivos em outro diretório

Eu tenho dois diretórios: que dir_1tem a.mp4, b.mp4, e que tem apenas , . O script deve ser movido e para porque apenas esses nomes de arquivo correspondem aos nomes de arquivo em . Acho difícil seguir os scripts quando preciso fazer esse tipo de operação específica.c.mp4d.mp4dir_2a.txtb.txta.mp4b.mp4dir_3dir_2

Responder1

Tentar,

for f in "dir_2"/*; do
    filename=${f##*/}
    mv -t "dir_3" "dir_1/${filename%.*}".*
done
  • Fazer loop de arquivos dir_2(use *.txtapenas para fazer loop desses arquivos)
  • ${f##*/}fornece o nome do arquivo sem o caminho.
  • ${filename%.*}fornece o nome do arquivo sem extensão.
  • mv -t "dir_3" "dir_1/${filename%.*}".*move todos os arquivos fornecidos filename(removidos da extensão) para dir_3. Você pode especificar .mp4em vez de .*se quiser.

informação relacionada