Pular para o conteúdo

Ajuda com comando sed

Responder tópico
  • Denunciar
  • Indicar

1. Ajuda com comando sed

Enviado em 02/03/2018 - 10:07h

Bom dia,
Estou com o seguinte problema. Tenho um script que acessa determinado diretório, e copia o arquivo desse diretorio para o hd externo, renomeando todos os arquivos da pasta e acrescentando no final do arquivo a data de criação. Porem esse script só funciona 100% quando a data de criação tem dois digitos. do dia 1 ao dia 9, por ter um espaço antes do numero, ele copia só o mês :(
segue parte do script

=========================
origem="/media/ArqBackups/*"
destino="/media/pendrive/"

for i in $(ls $origem)
do
nome=$(basename $i)
date=$(ls -l $i | cut -d" " -f 6,7 | sed "s/ /-/")
cp -uv $i ${destino}$nome.$date-$(date +%Y)
===========

A resposta que tenho quando sao dias com 2 digitos é isso: "BKPArquivos_Departamentos_sex.zip.Jan-19-2018"
Agora quando é dia com um digito é "BKP_Arquivos_UsuariosOff.zip.Mar--2018"

Não consegui remover o espaço que tem quando ele lista e aparece _1 onde _ é espaço vazio =(

Responder tópico

2. Re: Ajuda com comando sed

Enviado em 02/03/2018 - 10:51h

Sugiro usar um formato diferente para a data do arquivo:

$ stat -c %y arquivo.txt | awk '{print $1}'
2018-03-02

ou
$ ls -l --time-style=long-iso arquivo.txt | awk '{print $6}'
2018-03-02

3. \o\O/o/

Enviado em 05/03/2018 - 17:24h

me salvou, desse jeitinho funcionou da forma correta
mto obg
\o

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder