Como criar extensões de arquivos via script bash [RESOLVIDO]

1. Como criar extensões de arquivos via script bash [RESOLVIDO]

Michele Porto Pires
michelepp

(usa Ubuntu)

Enviado em 20/01/2015 - 12:13h

Olá pessoal, sou iniciante no script bash e não sei como resolver esse problema:

Tenho um arquivo que é atualizado n vezes (nº de vezes que o meu script bash é executado), porém gostaria de criar uma extensão (sufixo) para esse arquivo a cada vez que meu script bash fosse executado, assim se rodasse 3 vezes meu script teria: teste000, teste001 e teste002, como posso fazer isso?

Muito Obrigada!!!




  


2. MELHOR RESPOSTA

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/01/2015 - 15:54h

textmode escreveu:

michelepp escreveu:

Tentei fazer o que o R3nam me sugeriu mas também não deu certo!

Outra coisa que tentei por sugestão de um amigo foi:

x=('ls|grep solutions')
n='expr ${#x[@]}'
g='printf %03g $n'
cp solutions.txt > sol$g.txt

Mas segue a seguinte mensagem: redirecionamento ambíguo


Parece que você confundiu apóstrofo com acento grave. O último comando não faz sentido, você deixou o bash em dúvida se pretendia copiar ou redirecionar algo.



Duas coisas que acabei esquecendo, no início você diz que seus arquivos possuem nomes como teste000, teste001, teste002 ... contudo, este último exemplo sugere o prefixo "solutions" ao invés de "teste".

Há um outro detalhe no último exemplo, printf '%03g' $n sugere no máximo mil arquivos, 000-999, se o seu script rodar três vezes por dia, em menos de um ano você terá mais trabalho para ordenar e descobrir quem foi o último.

Sugestão (além do que os colegas já proporam) usar timestamp:

teste_$(date -u +%s)

A própria quantidade de descriminaria quantas vezes o arquivo foi atualizado com a informação adicional de quando foi atualizado, seria possível inclusive, saber quantas vezes rodou em cada hora, dia, mês, ano ...


3. Re: Como criar extensões de arquivos via script bash

Renan Arantes
R3nan

(usa Debian)

Enviado em 20/01/2015 - 12:46h

fiz um exmplo, veja se te ajuda e adapte ao que vc precisa.

eu criei como exemplo os arquivos como file.1 file.2 file.3 etc...


#!/bin/bash
ARQNUM=$(ls -lt file.* | head -n1 | awk '{print $9}' | awk -F"." '{print $2}')
ARQNUM2=$(expr $ARQNUM + 1)
touch file.$ARQNUM2


qualquer coisa posta ai
boa sorte



4. Tentativas

Michele Porto Pires
michelepp

(usa Ubuntu)

Enviado em 20/01/2015 - 14:56h

Tentei fazer o que o R3nam me sugeriu mas também não deu certo!

Outra coisa que tentei por sugestão de um amigo foi:

x=('ls|grep solutions')
n='expr ${#x[@]}'
g='printf %03g $n'
cp solutions.txt > sol$g.txt

Mas segue a seguinte mensagem: redirecionamento ambíguo


5. Re: Como criar extensões de arquivos via script bash [RESOLVIDO]

Renan Arantes
R3nan

(usa Debian)

Enviado em 20/01/2015 - 15:15h


teste esse agora, o arquivo solutions.txt precisa existir e estar na mesma pasta do script q vc vai copiar


#!/bin/bash
ARQNUM=$(ls -lt solutions* | head -n1 | awk '{print $9}' | awk -F"_" '{print $2}' | awk -F"." '{print $1}')
ARQNUM2=$(expr $ARQNUM + 1)
cp solutions.txt solutions_$ARQNUM2.txt



6. Re: Como criar extensões de arquivos via script bash [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/01/2015 - 15:41h

michelepp escreveu:

Tentei fazer o que o R3nam me sugeriu mas também não deu certo!

Outra coisa que tentei por sugestão de um amigo foi:

x=('ls|grep solutions')
n='expr ${#x[@]}'
g='printf %03g $n'
cp solutions.txt > sol$g.txt

Mas segue a seguinte mensagem: redirecionamento ambíguo


Parece que você confundiu apóstrofo com acento grave. O último comando não faz sentido, você deixou o bash em dúvida se prentendia copiar ou redirecionar algo.







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts