Como mover arquivos de um diretório para um diretório aninhado usando SSH?

1

Sou novo no SSH. Gostaria de saber como mover todos os arquivos, não a pasta ou o diretório, para uma pasta ou diretório existente dois níveis abaixo.

    
por user31836 05.02.2013 / 19:33

2 respostas

1

Você vai querer usar o comando find.

find . -type f -name "*" -print0 | xargs -0 -I {} mv {} ../backup_dir ; mv ../backup_dir ./new/directory

Observe que movi os arquivos para um diretório para um diretório para cima, para evitar que o item fique preso em um loop, encontrando os novos arquivos que você está movendo. Em seguida, mova o diretório dois níveis para baixo.

Se você precisar apenas de arquivos no diretório atual, poderá usar o comando:

find . -type f -maxdepth 1 -name "*" -print0 | xargs -0 -I {} mv {} ../backup_dir 
    
por 05.02.2013 / 21:46
0

Se você tem zsh disponível, isso é bem simples. O padrão * corresponde a todos os arquivos (incluindo diretórios). Para corresponder apenas aos arquivos regulares, adicione o qualificador de glob . . Qualificadores Glob são um recurso zsh.

mv *(.) existing/subsubdirectory/

(Na verdade, * ignora arquivos cujo nome começa com . ("arquivos de pontos"). Isso provavelmente não é uma preocupação aqui, mas se você precisar movê-los também, adicione um D dentro os parênteses.)

    
por 06.02.2013 / 02:28

Tags