bash - lendo conteudo de arquivos.. HELP ..!!
	
	
		pessoal, 
nao sou bom em scripts, e precisod e uma ajuda tenho um arquivo com 19000 linhas com varios tipos de objetos onde preciso ler todos os objetos coletar de cada algumas informacao e colocalos em lista em um outro arquivo para poder importar para uma planilha eletronica.
como faco isso?
: (rede10.10.0.0
                        :color (blue)
                        :type (network)
                        :location (internal)
                        :broadcast (allow)
                        :comments ("Meus Usuarios")
                        :ipaddr (10.10.0.0)
                        :netmask (255.255.0.0)
                        :add_adtr_rule (true)
                        :netobj_adtr_method (adtr_hide)
                        :the_firewalling_obj (
                                :type (refobj)
                                :refname ("#FW")
                        )
                        :ip_pool_securemote (false)
                        :valid_addr_name ("RedeSIA_10.201 (Hiding Address)")
                        :valid_ipaddr (200.100.100.1)
                )
	 
	
	
	
		bash - lendo conteudo de arquivos.. HELP ..!!
	
	
		awk é muito bom para lidar com arquivos com campos definidos
	 
	
	
	
		bash - lendo conteudo de arquivos.. HELP ..!!
	
	
		exemplo:
Se eu tivesse um arquivo chamado file1, como:
numeroum
numerodois
letraa
letrab
letrac
letrad
e quisese inserir (uma em cada linha) os dados:
numerodois e letrab, um depois do outronum arquivo chamado file2, eu faria:
 
#!/bin/bash
cat file1 | grep numerodo* >> file2 ;
cat file1 | grep letrab >> file2;
...
Mas daria pra botar num loop, se fossem muitas strings.
Sds,
	 
	
	
	
		bash - lendo conteudo de arquivos.. HELP ..!!
	
	
		é awk, ou se tu quiser mais funcionalidade, perl + expressoes regulares... ou ateh mesmo php + regex rodadno na shell
	 
	
	
	
		bash - lendo conteudo de arquivos.. HELP ..!!
	
	
		use a expressão regular: ^$
exemplo:
sed -n -e "/^[^$]/p" file
onde o ^ indica início da linha e o $ final da linha, sendo que o ^ dentro do colchete e como primeiro caracter é uma negação, assim, meu comando imprime todas as linhas que não tenham como segundo caracter o final da linha.