Eu tenho dois diretórios: que dir_1
tem 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.mp4
d.mp4
dir_2
a.txt
b.txt
a.mp4
b.mp4
dir_3
dir_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*.txt
apenas 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 fornecidosfilename
(removidos da extensão) paradir_3
. Você pode especificar.mp4
em vez de.*
se quiser.