comando para deletar coluna especifica de um arquivo [RESOLVIDO]

1. comando para deletar coluna especifica de um arquivo [RESOLVIDO]

priscilla
prihleao

(usa Outra)

Enviado em 16/06/2016 - 22:02h

pessoa, por favor alguém me ajuda.
gostaria de saber um comando para eliminar coluna especifica de um arquivo com aproximadamente umas 14 colunas e 30 000 linhas... as colunas são separadas por espaços
quero eliminar apenas uma coluna especifica.
ele esta assim mais ou menos

DN32 230 006029922.1| XP_006029922.1| 006029922.1 N/A 0 818 225 64 340 389 0.010 54 35.19 57.41 19
DN33 230 006029923.1| XP_006029923.1| 006029923.1 N/A 0 818 225 64 340 389 0.010 54 35.19 57.41 19


  


2. Re: comando para deletar coluna especifica de um arquivo [RESOLVIDO]

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 16/06/2016 - 22:52h

prihleao escreveu:

pessoa, por favor alguém me ajuda.
gostaria de saber um comando para eliminar coluna especifica de um arquivo com aproximadamente umas 14 colunas e 30 000 linhas... as colunas são separadas por espaços
quero eliminar apenas uma coluna especifica.
ele esta assim mais ou menos

DN32 230 006029922.1| XP_006029922.1| 006029922.1 N/A 0 818 225 64 340 389 0.010 54 35.19 57.41 19
DN33 230 006029923.1| XP_006029923.1| 006029923.1 N/A 0 818 225 64 340 389 0.010 54 35.19 57.41 19

___________________________________
Boa noite, prihleao.
Use o "cut", da seguinte forma:
cut -d" " -f2 --complement 

Será excluída a coluna 02.
Exemplo:
echo L{01..10}-C{01..10}|sed 's/\(L[0-9]\+-C10\)/&\n/g'|sed 's/^ //'|cut -d" " -f2 --complement 

SAIDA:
L01-C01 L01-C03 L01-C04 L01-C05 L01-C06 L01-C07 L01-C08 L01-C09 L01-C10
L02-C01 L02-C03 L02-C04 L02-C05 L02-C06 L02-C07 L02-C08 L02-C09 L02-C10
L03-C01 L03-C03 L03-C04 L03-C05 L03-C06 L03-C07 L03-C08 L03-C09 L03-C10
L04-C01 L04-C03 L04-C04 L04-C05 L04-C06 L04-C07 L04-C08 L04-C09 L04-C10
L05-C01 L05-C03 L05-C04 L05-C05 L05-C06 L05-C07 L05-C08 L05-C09 L05-C10
L06-C01 L06-C03 L06-C04 L06-C05 L06-C06 L06-C07 L06-C08 L06-C09 L06-C10
L07-C01 L07-C03 L07-C04 L07-C05 L07-C06 L07-C07 L07-C08 L07-C09 L07-C10
L08-C01 L08-C03 L08-C04 L08-C05 L08-C06 L08-C07 L08-C08 L08-C09 L08-C10
L09-C01 L09-C03 L09-C04 L09-C05 L09-C06 L09-C07 L09-C08 L09-C09 L09-C10
L10-C01 L10-C03 L10-C04 L10-C05 L10-C06 L10-C07 L10-C08 L10-C09 L10-C10


É isso...

Se a resposta foi satisfatória, marque a como "A MELHOR" . . . :)

Att.:
Marcelo Oliver



3. Re: comando para deletar coluna especifica de um arquivo [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 17/06/2016 - 01:59h

O awk é também uma ótima opção veja:
ctw6av@localhost:~$ echo {1..10} 
1 2 3 4 5 6 7 8 9 10
ctw6av@localhost:~$ echo {1..10} | awk '{$2=""; print}'
1 3 4 5 6 7 8 9 10






=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================





4. Re: comando para deletar coluna especifica de um arquivo

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/06/2016 - 02:13h

ctw6av escreveu:

O awk é também uma ótima opção veja:
ctw6av@localhost:~$ echo {1..10} 
1 2 3 4 5 6 7 8 9 10
ctw6av@localhost:~$ echo {1..10} | awk '{$2=""; print}'
1 3 4 5 6 7 8 9 10



=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================




Sem falar que o cut dá problema se o espaçamento for irregular.

----------------------------------------------------------------------------------------------------------------
$ alias "força sindical"=cut
bash: alias: `força sindical': invalid alias name

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



5. Re: comando para deletar coluna especifica de um arquivo [RESOLVIDO]

priscilla
prihleao

(usa Outra)

Enviado em 17/06/2016 - 15:02h

nao da dando.
to tentando so um comando e não um script..
to fazendo nomedoarquivo awk '{$2=""}' > nomedooutput
eh isso?


6. Re: comando para deletar coluna especifica de um arquivo [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 17/06/2016 - 15:20h

prihleao escreveu:

nao da dando.
to tentando so um comando e não um script..
to fazendo nomedoarquivo awk '{$2=""}' > nomedooutput
eh isso?


cat arquivo1 | awk '{$2=""; print}' > arquivo2


7. Re: comando para deletar coluna especifica de um arquivo

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 17/06/2016 - 15:24h

prihleao escreveu:

nao da dando.
to tentando so um comando e não um script..
to fazendo nomedoarquivo awk '{$2=""}' > nomedooutput
eh isso?



Se não colocar o print ai não vai mesmo né? ele só entenderá que você quer que a coluna 2 receba "" (nada) e pronto, mas se colocar o print a coluna 2 receberá um "" (nada) e depois será impresso o restante que sobrou na ordem correta.

e é assim:
awk '{$2=""; print}' nome/do/arquivo 




=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================





8. Re: comando para deletar coluna especifica de um arquivo [RESOLVIDO]

priscilla
prihleao

(usa Outra)

Enviado em 17/06/2016 - 22:14h

PauloHAC escreveu:

prihleao escreveu:

nao da dando.
to tentando so um comando e não um script..
to fazendo nomedoarquivo awk '{$2=""}' > nomedooutput
eh isso?


cat arquivo1 | awk '{$2=""; print}' > arquivo2


obrigqdq


9. Re: comando para deletar coluna especifica de um arquivo [RESOLVIDO]

priscilla
prihleao

(usa Outra)

Enviado em 17/06/2016 - 22:15h

ctw6av escreveu:

prihleao escreveu:

nao da dando.
to tentando so um comando e não um script..
to fazendo nomedoarquivo awk '{$2=""}' > nomedooutput
eh isso?



Se não colocar o print ai não vai mesmo né? ele só entenderá que você quer que a coluna 2 receba "" (nada) e pronto, mas se colocar o print a coluna 2 receberá um "" (nada) e depois será impresso o restante que sobrou na ordem correta.

e é assim:
awk '{$2=""; print}' nome/do/arquivo 




=====================================================================
Não existe saber mais ou saber menos, existem saberes diferentes.
=====================================================================




entendi







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts