Mover arquivos em uma pasta

0

Eu estou tomando a entrada do usuário e tentando mover um arquivo específico em uma pasta que é especificada pelo usuário (a pasta não existe anteriormente). Eu escrevi um script para isso, mas não está funcionando.

read month
mv file210.txt /Users/PrashastKumar/Documents/latestFiles/$month/

Após a execução deste erro estou recebendo como abaixo

mv: rename file210.txt to /Users/PrashastKumar/Documents/latestFiles/Dec/: No such file or directory

Por favor, ajude

    
por Prashast 11.10.2017 / 22:08

1 resposta

1

Como a pasta não existe, você terá que criá-la:

#!/bin/sh

read month

folder="/Users/PrashastKumar/Documents/latestFiles/$month"

mkdir -p "$folder"

mv file210.txt "$folder"

O script criará a pasta usando mkdir -p , que não falhará se a pasta já existir e criará pastas intermediárias conforme necessário.

Em seguida, o arquivo é movido.

Expandiu o script com uma confirmação antes de criar uma nova pasta:

#!/bin/sh

read month

folder="/Users/PrashastKumar/Documents/latestFiles/$month"

if [ ! -d "$folder" ]; then
    printf 'Folder "%s" does not exist. Create it [y/n]: ' "$folder" >&2
    read
    case "$REPLY" in 
        [yY]*)  mkdir -p "$folder" ;;
        *) exit 1
    esac
fi

mv file210.txt "$folder"
    
por 11.10.2017 / 22:10