Script de shell que é copiado ao adicionar um sufixo de nome de arquivo fornecido pelo usuário

0

Estou tentando gravar um script de shell no Solaris que copia arquivos de um diretório para outro. Eu preciso disso para solicitar uma data ao usuário e adicionar isso como um sufixo aos nomes de arquivos de destino. Como faço para fazer isso?

    
por Bakul Bhimani 20.12.2012 / 06:37

2 respostas

1

#!/bin/bash

src="/dir1"
dest="/dir2"

read -p "Date: " date

cp -Rp "${src%/}/" "${dest}"
find "${dest}" -type f -exec mv "{}" "{}_${date}" \;

cp -Rp copia o conteúdo de src / recursivamente e mantém as permissões

${src%/}/" certifica-se de que o diretório fonte possui um argumento /, porque, se isso não acontecer, cp -R copia o próprio diretório em vez de seu conteúdo.

    
por 20.12.2012 / 10:18
0
#!/bin/bash
Dir1="/dir1"
Dir2="/dir2"

read -p "Enter Date :- " Date

# if date is not set then use system date
[[ -z $Date ]] && Date=$(date +%F)

[[ -d "${Dir1}" ]] || { echo "ERROR: $Dir1 does not exists.."; exit; } && cd $Dir1

List=( * )

for File in "${List[@]}"
do
[[ -f $File ]] && cp -Rp $File ${Dir2}/'basename ${File}'_${Date};
done
    
por 20.12.2012 / 06:50