Alterar estrutura de um arquivo, como?

1. Alterar estrutura de um arquivo, como?

Alan Victor
alanvictorjp

(usa Debian)

Enviado em 16/01/2008 - 03:51h

Bom dia galera!
esse é meu primeiro post no vivaolinux!
gostaria de saber como posso alterar a estrutura de um arquivo para facilitar as coisas aqui,,
ex:
tenho um arquivo 1.txt com o conteudo:
aa.a
bb.b
cc.c

gostaria de criar um script shell para alterar ele, ex:

alan aa.a victor
alan bb.b victor
alan cc.c victor

sabendo-se que a lista é de +- 1000 linhas ai fica complicado copiar e colar.. :/

sei que isso é muito fácil, mais nao sei! :/
desde ja,
grato a ajuda de nossos colegas!
vlws


  


2. Pode ser com o vim?

Fernando Scherrer
john.fernando

(usa Slackware)

Enviado em 16/01/2008 - 08:45h

Bom dia.

Precisa ser shell? Porque se for só um arquivo, tá mais fácil fazer uma expressão regular no vim... se puder:

$ vim 1.txt

assim que abrir o vim digita

:%s /\(.*\)/alan \1 victor/g

e dá enter.. se ficou do jeito que você quer é só salvar e sair:

:wq

se você conhece um pelo menos um pouco de vim não terá problemas...

falowz!?


3. sed

Fernando Scherrer
john.fernando

(usa Slackware)

Enviado em 16/01/2008 - 08:52h

Eu dinovo!

Bom dá pra fazer em shell pelo sed (tá.. devem haver inúmeras outras formas também), assim:

$ sed -e "s/\(.*\)/alan \1 victor/g" 1.txt > 1-alterado.txt

seu arquivo resultante será o 1-alterado.txt

Obs.: não pode jogar pro mesmo arquivo assim "1.txt > 1.txt" senão você vai perder todo o conteúdo.

se tiver um monte de arquivos faz assim:
$ for file in *.txt; do sed -e "s/\(.*\)/alan \1 victor/g" $file > ${file}-alterado; done;

falowz?!


4. ...

Hugo Branquinho de Carvalho
hugobcar

(usa Red Hat)

Enviado em 16/01/2008 - 09:28h

Bom dia amigo.

cat 1.txt | awk {'print "alan "$1" victor"'}

Se quiser salvar em algum arquivo esse resultado, faça:

cat 1.txt | awk {'print "alan "$1" victor"'} > arquivo_a_ser_salvo.txt


5. Alterar estrutura de um arquivo, como?

Alan Victor
alanvictorjp

(usa Debian)

Enviado em 16/01/2008 - 21:45h

obrigado pelas respostas amigos,, vou tentar explicar oq eu quero diretamente!
seguinte, tenho provedor de internet e uso no servidor o sistema mikrotik, e no meu desktop e servidor web, é linux, debian

seguite, tenho uma lista de sites para bloquear arquivo sites.txt estao assim:

url.com
url.com.br
url.org
url.com
url.net
etc
etc
etc
+ - 1000 linhas

quero transformar essa estrutura assim:

add url="url.com" action=deny comment="" disabled=no
add url="url.com.br" action=deny comment="" disabled=no
add url="url.com" action=deny comment="" disabled=no
etc
etc
etc

descupem nao explicar diretamente
Grato pelas respostas
vlws


6. Assim:

Fernando Scherrer
john.fernando

(usa Slackware)

Enviado em 16/01/2008 - 22:19h

Boa noite.

Testei isso aki e funcionou beleza:

sed -e "s/\(.*\)/add url=\"\1\" action=deny comment=\"\" disabled=no/g" sites.txt > sites-deny.txt

Testa aí e posta o resultado.

Valewz!


7. Com vim:

Fernando Scherrer
john.fernando

(usa Slackware)

Enviado em 16/01/2008 - 22:23h

Ah... e pelo vim ficaria assim:

:% s/\(.*\)/add url="\1" action=deny comment="" disabled=no/g

Falowz?!


8. Alterar estrutura de um arquivo, como?

Alan Victor
alanvictorjp

(usa Debian)

Enviado em 16/01/2008 - 22:25h

po cara, vlwww msm, ficou em ordem!!
muitoo obrigado cara!
que a força esteja com voce!
fica com Deus
vlwwww


9. Re: Alterar estrutura de um arquivo, como?

Alan Victor
alanvictorjp

(usa Debian)

Enviado em 16/01/2008 - 22:25h

voce teria alguma apostila ou tutorial, de shell pra eu estudar?
vlww


10. awk?

Fernando Scherrer
john.fernando

(usa Slackware)

Enviado em 16/01/2008 - 22:29h

Se preferir awk:

cat sites.txt | awk '{print "add url=\""$0"\" action=deny comment=\"\" disabled=no"}' > sites-deny.txt

nesse caso usar $0 ou $1 não vai fazer diferença, já que as URLs não tem espaços (FS: field separator padrão do awk), mas se tivesse, $1 retorna só o primeiro field (www algo com br retornaria apenas www) enquanto $0 retorna a linha toda (RS: record separator, padrão: nova linha)

Fui!


11. Material shell

Fernando Scherrer
john.fernando

(usa Slackware)

Enviado em 16/01/2008 - 22:30h

Vou separar aki, amanhã te mando.

até.


12. Re: Alterar estrutura de um arquivo, como?

Alan Victor
alanvictorjp

(usa Debian)

Enviado em 16/01/2008 - 22:32h

po cara, muitíssimo abrigado por sua ajuda
é complicado encontrar pessoas como voce
esta de parabens!
vlwwww msm!
flws






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts