Como mover todos os arquivos (excluindo subdiretórios) de um diretório para outro?

1

Como você move todos os arquivos (excluindo subdiretórios) de um diretório para outro. Eu preferiria que a solução usasse apenas scripts básicos de shell.

    
por Kiran Reddy 17.07.2015 / 07:01

4 respostas

2

O caminho mais fácil:

for f in /some/path/*; do
    if [ -f "$f" ]; then
        mv "$f" /some/other/path
    fi
done

A maneira um pouco mais complicada:

find /some/path -mindepth 1 -maxdepth 1 -type f -exec mv {} /dome/other/path \;
    
por 17.07.2015 / 07:15
0

Usando find :

find . -maxdepth 1 -type f -print0 | xargs -0 -I {} mv {} /path/to/target/directory/{}

Isso também lidará com nomes de arquivos contendo novas linhas.

    
por 17.07.2015 / 08:55
0
$ cd $SOURCE_DIR
$ mv 'ls -p| grep -v /' $Target_dir

Etapas da execução

  1. Mover para o diretório de origem usando o comando cd.
  2. ls -p sufixos "/" para todos os diretórios.
  3. grep -v é usado para excluir os diretórios e para obter o arquivo regular.
  4. Finalmente, movendo todos os arquivos para o diretório de destino.
por 17.07.2015 / 09:56
-1
cd $src
mv 'find . -maxdepth 1 -type f -printf '%f\n'' $tgt

deve fazer isso, onde $src é sua pasta de origem e $tgt é sua pasta de destino

    
por 17.07.2015 / 07:16