Incluindo uma data em um nome de arquivo

0

Dentro de um diretório, existem 150 arquivos chamados ABLIMITS.TXT . Como faço para renomeá-los para ABLIMITS_date.txt solicitando a data do usuário?

    
por Trisha 12.12.2012 / 14:38

2 respostas

4

Sua pergunta é um pouco incerta (como 150 arquivos em um único diretório pai têm o mesmo nome de arquivo?), então aqui está um exemplo de um único arquivo chamado ABLIMITS.TXT , que você pode extrapolar conforme necessário :

Em um shell POSIX:

Usando a data atual

mv ABLIMITS.TXT "ABLIMITS_$(date '+%Y-%m-%d').TXT"

Solicitando ao usuário uma data

read -rp "Please enter date: " date
mv ABLIMITS.TXT "ABLIMITS_${date}.TXT"
    
por 12.12.2012 / 14:47
0

Suponho que você deseja aceitar a entrada do usuário e garantir que ela siga um formato padrão (por exemplo, AAAA-MM-DD). Então, vamos tentar algo assim:

for i in *
do
  read -p "Enter date for $i: " d
  mv "$i" "${i%.*}_$(date +%Y-%m-%d -d "$d").${i##*.}"
done

Você pode ler a página man do dia para obter mais informações sobre o formato.

    
por 13.12.2012 / 14:02