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.