Filed under Linux, Script, Solaris by Waldirio
Amigos, bom dia
Uma funcionalidade bem interessante e útil é a utilização de expressões regulares, com isso, irei mostrar um exemplo rápido de como buscar mais de uma palavra em um arquivo texto.
Como pode ser visto, o conteudo do arquivo text é maca, pera e uva
jeju:[xxx] > cat text
maca
pera
uva
Para se buscar mais de uma palavra ao mesmo tempo, segue o exemplo (pera e maca), basta habilitar o modo de expressão regular (-E, –extended-regexp) e preparar a query.
jeju:[xxx] > grep -E ‘(pera|maca)’ text
maca
pera
Espero que tenham gostado.
Abraços
Waldirio
Tags:
Linux,
Script,
shell
June 14, 2010 - 11:08 AM
Filed under Informatica, Linux, Script, Solaris by Waldirio
Pessoal
Segue um comando para criar um segmento completo e/ou parcial, apenas se passando a classe (neste exemplo, classe C)
seg() { echo -e “$1″ | while read LINE; do for b in $(seq 10); do echo $LINE.$b; done; done; }
Como usar:
jeju:[xxxx] > seg "200.167.208\n10.0.0"
200.167.208.1
200.167.208.2
200.167.208.3
200.167.208.4
200.167.208.5
200.167.208.6
200.167.208.7
200.167.208.8
200.167.208.9
200.167.208.10
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5
10.0.0.6
10.0.0.7
10.0.0.8
10.0.0.9
[]'s
Waldirio
10.0.0.10
Tags:
for,
Script,
while
October 21, 2009 - 3:34 PM
Filed under Informatica, Linux, Script, Solaris by Waldirio
Pessoal
Segue um comando para criar um segmento completo e/ou parcial, apenas se passando a classe (neste exemplo, classe C)
seg() { for b in $(echo $1); do for x in $(seq 10); do echo $b.$x; done; done }
Como usar:
jeju:[xxxx] > seg "200.167.208 10.0.0"
200.167.208.1
200.167.208.2
200.167.208.3
200.167.208.4
200.167.208.5
200.167.208.6
200.167.208.7
200.167.208.8
200.167.208.9
200.167.208.10
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
10.0.0.5
10.0.0.6
10.0.0.7
10.0.0.8
10.0.0.9
10.0.0.10
[]’s
Waldirio
Tags:
echo,
for,
função,
Script
October 21, 2009 - 3:30 PM
Filed under Linux, Script by Waldirio
Ola amigos, bom dia
Hoje vou publicar uma rotina simples, mas bem funcional e útil, pois muitos usuários que utilizam shell script geralmente tem esse problema .., vamos ao assunto.
Suponha que voce tenha um arquivo sample.tar e gostaria de criar um install.sh para realizar algumas configurações e também extrair o arquivo sample.tar. Geralmente é necessário ir ao diretório de instalação (onde estão os arquivos .sh e .tar) para executar o mesmo, porém vamos incluir uma flag em nosso script que indepentente de onde voce esteja, a rotina irá detectar o path absoluto e você não terá mais problema na instalação e/ou extração.
Vamos ao script
### install.sh ###
#!/bin/bash
PATH_INSTALL=`echo $0|sed -s ’s/\/install.sh//g’`
tar xf $PATH_INSTALL/scilab_4.1.2.tar -C / 2>/dev/null
if [ $? -eq 0 ]; then
echo “Scilab 4.1.2 installed with sucessful !!!”
else
echo “There is a problem, check the installation ….”
fi
############
Note a variável PATH_INSTALL, ela contem o pulo do gato, ou seja, independente de onde voce esteja e execute o script, ele filtra o caminho removendo a parte de texto /install.sh, neste momento, você só fica com o path absoluto. O resto é só usar a criatividade.
[]’s amigos
Waldirio
Tags:
path,
Script,
shell
August 11, 2009 - 11:49 AM
Filed under Linux, Script by Waldirio
Bom dia amigos
Para se realizar um backup de banco (MySQL), pode ser utilizado o script abaixo
#!/bin/bash
DB=`mysql -e “show databases”;`
DB_FIL=`echo $DB|sed -e “s/Database//g”`
for b in $DB_FIL
do
mkdir $b
TABLE=`mysql -e “connect $b; show tables”;`
TABLE_FIL=`echo $TABLE|sed -e “s/Tables_in_//g”|sed -e “s/$b//g”`
for x in $TABLE_FIL
do
echo “Db – $b e Table – $x”
mysqldump $b $x > $b/${x}_`date +%d.%m.%y`.sql
done
done
Onde ao termino, é gerado um diretorio com o nome do banco e dentro os arquivos com o nome das tabelas com a data referida do backup.
Qualquer dúvida entre em contato
[]’s
Waldirio
Tags:
date,
for,
mysql
January 9, 2009 - 1:29 PM
Filed under Script by Waldirio
Bom dia Amigos
Para se matar processos em Unix/Linux, normalmente é utilizado o comando kill -9 <id>, porem, se forem muitos processos, fica algo inviavel.
Uma boa forma seria fazer uma rotina onde voce tenha todos os id e possa fazer um for, como segue o exemplo abaixo:
Imagine querer matar TODOS os processos do usuario wmp, logo faremos dois comandos
1º – A obtenção da lista de processos
a=`ps -ef |grep wmp|awk ‘{print $2}’
2º – A execução do kill -9 para cada processo da lista obtida anteriormente
for b in $a
do
kill -9 $b
done
É isso amigos, simples e funcional.
[]’s
Waldirio
Tags:
awk,
for,
kill,
processos
January 8, 2009 - 9:52 AM