Remover primeira linha e converter primeira coluna para minusculo. [RESOLVIDO]

1. Remover primeira linha e converter primeira coluna para minusculo. [RESOLVIDO]

Edson
krynhells

(usa Debian)

Enviado em 12/12/2012 - 17:52h

Senhores,

Podem me ajudar em um script que remova a primeira linha de um arquivo .csv e converte a primeira coluna para minusculo?

Vi o comando abaixo mas não sei como executar apenas na primeira coluna:
sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/'


Tenho um arquivo no padrão abaixo e preciso remover a primeira linha e converter a primeira coluna para minúsculo:

Owner,"Name","NIC::1::IPAddress::1","Description"
_LOGIN,"HOST23210","191.001.143.212"
_USUARIO,"HOST24785","191.001.140.152"
MELIANTE,"HOST25164","010.013.000.156"


Já abusando, se possível, gostaria de remover os acentos de todo o arquivo,

Obrigado.


  


2. Re: Remover primeira linha e converter primeira coluna para minusculo. [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 12/12/2012 - 18:31h

krynhells escreveu:

Senhores,

Podem me ajudar em um script que remova a primeira linha de um arquivo .csv e converte a primeira coluna para minusculo?

Vi o comando abaixo mas não sei como executar apenas na primeira coluna:
sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/'


Tenho um arquivo no padrão abaixo e preciso remover a primeira linha e converter a primeira coluna para minúsculo:

Owner,"Name","NIC::1::IPAddress::1","Description"
_LOGIN,"HOST23210","191.001.143.212"
_USUARIO,"HOST24785","191.001.140.152"
MELIANTE,"HOST25164","010.013.000.156"


Já abusando, se possível, gostaria de remover os acentos de todo o arquivo,

Obrigado.


Para apagar a primeira linha, use o comando
 $ cat arquivo | sed "1d" > arquivosemaprimeiralinha  


Se as colunas são separadas por vírgulas, separe o arquivo em colunas
 $ cat arquivosemaprimeiralinha | cut -d',' -f1 > primeiracoluna.txt 
$ cat arquivosemaprimeiralinha | cut -d',' -f2 > segundacoluna.txt
$ cat arquivosemaprimeiralinha | cut -d',' -f3 > terceiracoluna.txt
$ cat arquivosemaprimeiralinha | cut -d',' -f4 > quartacoluna.txt

Usa o tr nesse arquivo
 $ cat primeiracoluna.txt | tr A-Z a-z | sed "y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/" > primeiracolunaeditada.txt  

E junte a primeira coluna editada com as demais colunas usando
 $ paste -d',' primeiracolunaeditada.txt segundacoluna.txt terceiracoluna.txt quartacoluna.txt > arquivoeditado.txt
$ cat arquivoeditado.txt | sed "y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/" > arquivosemacentos.txt



3. Re: Remover primeira linha e converter primeira coluna para minusculo. [RESOLVIDO]

Edson
krynhells

(usa Debian)

Enviado em 13/12/2012 - 10:42h

Obrigado pela resposta.

Admito que achei meio complicado mas tentarei adapta-lo... por que no meu exemplo, existe apenas quatro colunas, mas o arquivo real possui mais de vinte colunas, sendo que eu preciso alterar informações de apenas duas colunas, por exemplo, a primeira e a décima primeira.




4. Re: Remover primeira linha e converter primeira coluna para minusculo. [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 13/12/2012 - 20:28h

krynhells escreveu:

Obrigado pela resposta.

Admito que achei meio complicado mas tentarei adapta-lo... por que no meu exemplo, existe apenas quatro colunas, mas o arquivo real possui mais de vinte colunas, sendo que eu preciso alterar informações de apenas duas colunas, por exemplo, a primeira e a décima primeira.



O jeito mais prático é você separar o arquivo em várias colunas automaticamente. Pra isso, vamos ser pilantras e usar um comando simples para separar o arquivo em várias colunas. Seja n o número total de colunas em seu arquivo (sim, você precisa saber isso de antemão ;-)
 $ cat arquivooriginal | sed "1d" > arquivosemprimeiralinha
$ for i in {1..n}; do cat arquivosemprimeiralinha | cut -d',' -f$i > coluna$idoarquivo.txt

No lugar da vírgula em cut -d',' use o caractere delimitador de coluna usado no arquivooriginal. Agora você vai ter n arquivos, cada arquivo correspondendo a uma coluna. Edite os arquivos das colunas que lhe interessam editar como explicado anteriormente, e junte todos as colunas (editadas ou não) conforme explicado anteriormente.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts