msoliver 
		 
		(usa Debian)
		 
		Enviado em 02/12/2020 - 19:14h 
		
amandacsiilva escreveu:
Olá. Eu tenho vários arquivos que contém 10 colunas e gostaria de separa-los de acordo com o valor da sétima coluna. Exemplo do conteúdo dos arquivos:
20140612 2220 178702 -5.445 -34.275 20.9 02000 0.2 -0.1 1.0 
20140612 2100 179196 -5.391 -34.266 20.4 05000 -0.2 -0.2 1.0  
20140612 2330 179197 -5.400 -34.266 20.6 08000 0.2 0.1 1.0 
20140612 1240 179198 -5.409 -34.266 20.5 07000 -0.2 0.1 1.0 
20140612 1900 179201 -5.436 -34.266 22.0 02000 0.2 0.0 1.0 
20140612 0700 179202 -5.445 -34.266 24.0 03000 0.1 -0.1 1.0 
20140612 0950 179203 -5.454 -34.266 20.5 04000 -0.1 0.0 1.0 
20140612 1010 184706 -5.481 -34.167 23.6 09000 0.1 0.1 1.0 
20140612 1840 184707 -5.490 -34.167 21.8 10000 -0.2 0.1 1.0 
20140612 1530 99804 -6.361 -35.707 23.0 11000 NaN NaN 0.1 
20140612 1450 105592 -4.457 -35.598 20.0 12000 -0.2 -0.1 1.0 
20140612 2210 105593 -4.466 -35.598 21.0 15000 -1.2 -0.1 1.0 
20140612 2230 122099 -4.520 -35.299 21.8 04000 0.1 -0.1 1.0 
20140612 1220 122100 -4.529 -35.299 21.0 12000 -0.4 -0.2 1.0 
20140612 1440 122599 -4.520 -35.290 21.8 13000 0.1 -0.1 1.0  
No caso, eu preciso separar em três arquivos, sendo que no arquivo 1 tem que estar as linhas em que a coluna 7 vai de 02000 a 04000, no arquivo 2 as linhas que tem valores de 05000 a 09000 na coluna 7 e no arquivo 3 as linhas em que os valores da coluna 7 vão de 10000 a 15000.
ARQUIVO 1:
20140612 2220 178702 -5.445 -34.275 20.9 02000 0.2 -0.1 1.0
20140612 1900 179201 -5.436 -34.266 22.0 02000 0.2 0.0 1.0
20140612 0700 179202 -5.445 -34.266 24.0 03000 0.1 -0.1 1.0
20140612 0950 179203 -5.454 -34.266 20.5 04000 -0.1 0.0 1.0
20140612 2230 122099 -4.520 -35.299 21.8 04000 0.1 -0.1 1.0
ARQUIVO 2:
20140612 2100 179196 -5.391 -34.266 20.4 05000 -0.2 -0.2 1.0 
20140612 2330 179197 -5.400 -34.266 20.6 08000 0.2 0.1 1.0
20140612 1240 179198 -5.409 -34.266 20.5 07000 -0.2 0.1 1.0
20140612 1010 184706 -5.481 -34.167 23.6 09000 0.1 0.1 1.0
ARQUIVO 3:
20140612 1840 184707 -5.490 -34.167 21.8 10000 -0.2 0.1 1.0
20140612 1530 99804 -6.361 -35.707 23.0 11000 NaN NaN 0.1
20140612 1450 105592 -4.457 -35.598 20.0 12000 -0.2 -0.1 1.0
20140612 2210 105593 -4.466 -35.598 21.0 15000 -1.2 -0.1 1.0
20140612 1220 122100 -4.529 -35.299 21.0 12000 -0.4 -0.2 1.0
20140612 1440 122599 -4.520 -35.290 21.8 13000 0.1 -0.1 1.0
Agradeço pela ajuda! 
Olá Amanda, tudo bem?
Já fizemos algo parecido...... 
segue:
    awk '{if($7 >= 2000 && $7 <= 4000) arq="arq_01";else if($7 >= 5000 && $7 <= 9000) arq="arq_02";else if($7 >= 10000 && $7 <= 15000) arq="arq_03"} {print $0 > arq}' arq.txt 
  
Obs:. Se o campo 7, nunca é < 2000, pode "reduzir" o comando, eliminando:
"$7 >= 2000 &&"
A mesma lógica pode ser aplicada para 15000....
Se o máximo é 15000, pode eliminar "&& $7 <= 15000" 
É isso.
______________________________________________________________________
Importante:  lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento: 
O comando: 
lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p' , 
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:
 Se você sanou sua dúvida ou resolveu um problema a partir de um 
     tópico criado, é extremamente recomendável que acesse o tópico e 
     marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja 
     como melhor resposta a que mais lhe ajudou. 
______________________________________________________________________