Eu ja respondi algo praticamente identico usando o "ed" semanas atras..
Ja vou procurar e ver se acho..
--
Flavio do Carmo Junior
2008/5/28 MrBiTS <[EMAIL PROTECTED]>:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> | problema:
> | se encontrar /padrao/ troca-lo por uma linha que esteja d
Ufa...
esse yahoo é uma coisa..
A thread completa sobre o que falei:
http://br.groups.yahoo.com/group/shell-script/message/25936
--
Flávio do Carmo Júnior aka waKKu
2008/5/28 Flavio Junior <[EMAIL PROTECTED]>:
> Eu ja respondi algo praticamente identico usando o "ed" sem
Inves de exit, use direto o logout ?
O proprio logou se encarrega de finalizar o script.
Ou talvez usando o return (se tiver interesse em exit code) inves de
exit, mas ai só testando.
--
Flavio do Carmo Junior
2008/5/29 Édnei Rodrigues <[EMAIL PROTECTED]>:
> pode mostrar o teu código?
> 2008/5/
lazlo:~# awk 'gsub(/($|^)/,"\"",$3);' txt
ratima 09033437787 "5c4o2ge-jr3xip-fgpob53a-1-fgq46oxz-ucw" 2008/05/27 15:35:30
ito 010448702674000 "5c4o2ge-jr3xip-fgpob53a-1-fgqbtqa6-1abh"
2008/05/27 19:09:28
--
Flavio do Carmo Junior aka waKKu
2008/5/30 Tiago Barcellos Peczenyj <[EMAIL PROTECTED]>:
Pra passar parametros pra um script, é só chama-lo com os parametros
na frente, separados por espaço, exemplo:
./script1 login shell "Nome Completo"
Pronto, isso daria conta. O caso é, como tratar esses parametros no
teu script1 ?
Exemplo:
lazlo:~# ./script1 flavio bash "Flavio Carmo Junior"
LO
Melhor opção:
Só faça a pergunta se os dados nao foram passados via linha de comando
do script1, algo como:
if [ x"LOGIN" == x ]; then
read -p "Login: " LOGIN
fi
Segunda opção:
Leia/use o expect ...
--
Flávio do Carmo Junior aka waKKu
2008/6/3 Petry <[EMAIL PROTECTED]>:
> Opa,
>
> O scr
So pensando que um hash de senha pode ter caracteres malucos, é melhor
termos mais cuidado ao trabalhar com o ! no segundo campo..
Então, melhorando o que tinha feito antes:
# awk -F: '$2~/^!/ {print $1}' /etc/shadow
Se o segundo campo COMEÇAR por "!", ele me imprime o nome do usuario.
--
Flav
Baseado no que tu falou...
Uma solução:
# awk -F: '$2=="!" {print $1}' /etc/shadow
Ou seja, toda linha que o segundo campo for "!", eu exibo o nome do usuario.
--
Flavio do Carmo Junior aka waKKu
2008/6/3 MrBiTS <[EMAIL PROTECTED]>:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> | Se v
Modo chato e bunito:
while IFS=$'\n' read -r LINHA; do
TIPO=${LINHA:0:2}
case "$TIPO" in
54)
NRCNPJ=14
..
;;
70)
esac
INI=2
CNPJ=${LINHA:$INI:$NRCNPJ}
let INI+=$NRCNPJ
,
done
Jeito simple e o q eu faria :D (s
lazlo:~# touch arq1; sleep 2; touch arq2
lazlo:~# if [ arq1 -nt arq2 ]; then echo ARQ1 eh mais novo; else echo
ARQ2 eh mais novo; fi
ARQ2 eh mais novo
lazlo:~# if [ arq1 -ot arq2 ]; then echo ARQ1 eh mais novo; else echo
ARQ2 eh mais novo; fi
ARQ1 eh mais novo
atenção no "-nt" (Newer Than) out "-
Essa foi inacreditável
# Pra nao ser moderado:
Sim Rafael, tu pode usar hours
date --date="3 hours ago" por exemplo.
Posso clicar em send ? :X
--
Flávio do Carmo Júnior aka waKKu
2008/6/4 Rafael <[EMAIL PROTECTED]>:
> mais uma coisa... posso usar hour ao invés de days
A resposta a sua duvida é simples Jean. Eu só vi o problema na forma
como ela foi exposta.
Ou seja, eu vou te ajudar ao invés de te dar a solução pronta.
Se fosse pra eu fazer isso, eu usaria o "for"
Veja um exemplo:
#!/bin/bash
for nome in /etc /home /boot; do
echo "O valor da variavel nome
ipt
> que arrume as permissões do diretório do usuario.
>
> Fiz o seguinte script, mas não está funcionando.
> Se alguem puder me ajudar
>
> #!/bin/bash
> arquivo=$(ls)
> linha=0
> for i in $arquivo; do
> linha=$linha+1
> usuario=$(ls | grep -n ^ | grep ^$linha: | cut -d: -f
chown e não chmod como eu escrevi..
2008/6/4 Flavio Junior <[EMAIL PROTECTED]>:
> cd /home
> for user in *; do
> chmod -R $user $user
> done
>
> --
>
> Flavio do Carmo Junior
>
> 2008/6/4 Jean Rafael Schultz <[EMAIL PROTECTED]>:
>> Olá,
&g
Manda o shaman da esquina adivinhar que linha que é, e qual o padrão
que ela tem, abrir o mar vermelho e escrever lah..
Cristiano,
Esse tipo de pergunta nao ajuda em nada.
Qual é o tipo do teu arquivo?
Qual a linha que tu quer inserir, onde, baseado em um padrão ou pelo
numero fixo da linha?
Te
Boa rapaiz :)
Ta feito UMA ideia:
[EMAIL PROTECTED] ~]# echo -e "teste\nInstalaPacote LibPostGres.tgz\nteste"
teste
InstalaPacote LibPostGres.tgz
teste
[EMAIL PROTECTED] ~]# echo -e "teste\nInstalaPacote LibPostGres.tgz\nteste" |
sed '/InstalaPacote/aAqui eu escrevo\nO que eu quiser inserir'
test
lazlo:~# cat txt
*** Bloco 1
dado1 'XX'H -- "'AAA" --,
dado2 'A'H -- "XX" --,
dado3 XX,
dado4 XX,
dado5 'XX'H -- "AA" --,
dado6 XX,
dado7 'XX'H -- "A" --,
lazlo:~# grep -Eo 'X+' txt | paste -sd\;
XX;XX;XX;XX;XXX
tipo
> cat txt | sed '/Bloco/,/dado7/ { $ s/$/;}
>
> algo nesse estilo, da linha com Bloco até a linha com dado7, onde tiver
> final de linha ($) substituir por ;
>
> Att.,
> JP
>
> 2008/6/6 Flavio Junior <[EMAIL PROTECTED]>:
>
>> lazlo:~# cat txt
>
as duas linhas?
>
> TRR02
>
> sed 's/TRR$/TRR/g' nao funfa pq? Não é só tirar a quebra de linha
> depois de TRR?
>
> Obrigado.
>
> --- Em shell-script@yahoogrupos.com.br, "Flavio Junior" <[EMAIL PROTECTED]>
> escreveu
>
>>
>
IL PROTECTED]:~$ file teste2.txt
> teste2.txt: ASCII text, with no line terminators
>
> Seria isso (a falta de terminadores de linha) que está causando a
> resposta estranha no prompt? Não tenho nenhum problema parecido com o
> do Eduardo para resolver, mas já tive esse problema outras
Tente com awk mesmo, usand oo split e a regex "."
algo como:
split($0,array,/./);
--
Flavio do Carmo Junior
2008/6/10 Eri Ramos Bastos <[EMAIL PROTECTED]>:
> Aparentemente quer em ordem alfabetica tambem, certo?
>
> $ echo "BADCFEHG" | fold -w 1 |sort |tr -d "\n"
>
> []'s
> Eri
>
> On 6/10/08
Só apresentando uma versão mais "genérica" da ideia do Cesar,
~ cat txt
#--
# DOMAIN: dominio.com.br
#--
.dominio.com.br:192.168.0.1:a:259200
.dominio.com.br:192.168.0.2:b:259200
Cwebmai
> X-Cron-Env:
> /bin/sh: mcrap: command not found
Essas duas linhas respondem sua duvida...
O PATH atual do teu cron é só: /usr/bin e /bin, ou seja, se o comando
mcrap estiver fora desses 2 diretorios ele nao vai ser encontrado da
forma como vc o chamou.
Inves de mcrap use: /usr/sbin/mcrap - PO
Leia essa thread, tem o script lah
http://br.groups.yahoo.com/group/shell-script/message/19648
--
Flavio do Carmo Junior aka waKKu
2008/6/30 gimenez.danilo <[EMAIL PROTECTED]>:
> Fala galera,
> estou tentando fazer um script para alterar (decrementar ou
> incrementar) em segundos, um arquivo d
$ sed 's/\.\ [a-z]/\U&/g' arquivo.txt
--
Flávio do Carmo Júnior aka waKKu
2008/7/1 Anderson <[EMAIL PROTECTED]>:
> Tenho um texto com 1 linhas onde tenho a seguinte situção."Texto
> texto. texto texto texto texto (continua . . .)" Como faço para sempre
> que ocorrer a string ". texto "(ponto
$ dirname $0
Dentro do script.
$0 = caminho completo que o script foi chamado, ou seja:
/usr/local/bin/meuscript.sh == $0
dirname $0 == /usr/local/bin
Porem, se o script for cahmado assim:
cd /usr/local/bin
./meuscript.sh
Então o $0 vai ser "./meuscript.sh" e não vai resolver teu problema.
S
# echo user1 | sed "s/user1/$USER/" # aspas duplas
root
Sua concordancia ta um pouco confusa..
Mas acho que era isso que quis dizer.
--
Flávio do Carmo Júnior aka waKKu
2008/7/2 José Alberto <[EMAIL PROTECTED]>:
> Gostaria de saber se existe uma forma de substituição, (pensei no
> sed), em que
Lembre-se do que o Reinaldo (acho que foi ele, desculpe-me se nao foi) disse:
usar o -r OU escapar os parenteses
Troque ( por \( e ) por \) e não precisará do -r
--
Flavio do Carmo Junior aka waKKu
2008/7/2 Christian Silva <[EMAIL PROTECTED]>:
> Desculpem reviver o thread, mas a solução só fun
[EMAIL PROTECTED] ~]# tr [:lower:] [:upper:] <<< "ação"
AçãO
[EMAIL PROTECTED] ~]# LC_ALL=pt_BR tr [:lower:] [:upper:] <<< "ação"
AÇÃO
--
Flavio do Carmo Junior aka waKKu
2008/7/2 Alain M. <[EMAIL PROTECTED]>:
>
> Julio C. Neves escreveu:
>> Na resposta anterior dada ao Felipe, IMHO creio ser m
Use o "eval"
X=TEST
eval VAR_$X=$OUTRA_VAR
eval echo $VAR_$X
--
Flavio do Carmo Junior aka waKKu
2008/7/7 Adelson O. Junior <[EMAIL PROTECTED]>:
> Boa tarde,
>
> dentro de um laço FOR preciso setar uma variável com o valor da
> iteração combinada à um nome de início, desta maneira:
>
> i=1
> f
Coisa maluca hein...
Bom, proteja tuas variaveis com as chaves...
tar -cvjf ${dataInicial}_${dataFinal}.tar.bz2
--
Flavio do Carmo Junior aka waKKu
2008/7/7 Reginaldo Ribeiro <[EMAIL PROTECTED]>:
> Olá a todos.
> Não estou conseguindo passar o valor das variáveis dataInicial e
> dataFina
Veja bem..
Vamos traduzir isso:
# eval echo VAR_$X
+ eval echo VAR_TEST
++ echo VAR_TEST
VAR_TEST
# eval echo $VAR_$X
+ eval echo TEST
++ echo TEST
TEST
# eval echo \$VAR_$X
+ eval echo '$VAR_TEST'
++ echo jajaja
jajaja
# set +x
+ set +x
# eval echo \$VAR_$X
jajaja
E, voilá ;)
Espero que consiga
Nao entendi bem...
Voce gostaria de chamar um segundo script dentro do teu script e ver
se deu OK ou não ?
O que vale é o ultimo status, mas voce pode controlar isso no teu script:
[EMAIL PROTECTED] ~]# bash -c 'ls /naoexiste 2>/dev/null'
[EMAIL PROTECTED] ~]# echo $?
1
[EMAIL PROTECTED] ~]# bash
$ awk -F: '{print $1 : $5}' /etc/passwd
Ve se te ajuda.
--
Flavio do Carmo Junior aka waKKu
2008/7/10 Allan Carvalho <[EMAIL PROTECTED]>:
> César.
>
> Mais uma vez agradeço pela sua ajuda, porém, escrevi o script conforme sua
> sugestão e obtive o mesmo resultado, ele está considerando o espaço
Veja sobre o comando script e sobre o screen
Ambos podem fazer o que tu quer, o screen da pra fazer como um VNC.
--
Flávio do Carmo Junior aka waKKu
2008/7/11 Darkzad <[EMAIL PROTECTED]>:
> Bom dia Pessoal
>
> Gostaria de saber se tem como eu logar em um servidor e ver o que o outro
> console e
Eh, eu fiz na mesma ideia do Miranda...
Veja:
gorpo:~ # cat log.txt
11 2 3 4 5 6 7 8 9 10 11 12 13 14 15
21 2 3 4 5 6 7
31 2 3 4 5 6 7 8 9 10 11 12 13 14 15
41 2 3 4 5 6 7 8 9
51 2 3 4 5 6 7 8 9 10 11 12
61 2 3 4 5 6 7
71231231
81 2 3 4 5 6 7 8 9
gorpo:~ # awk -v PRN=1 '{if ((NF>=8) || (PRN==0))
Deve ter uma solução melhor, mas é que realmente no HERE DOCUMENTS eu
não consegui fazer o shell interpretar
[EMAIL PROTECTED] teste]# f=txt
[EMAIL PROTECTED] teste]# cat >$f< ../teste
> ../teste/{abc,cba,test}
> $(echo ../teste/{abc,cba,test})
> EOF
[EMAIL PROTECTED] teste]# cat $f
../teste
../te
So um detalhe que li depois que enviei a mensagem..
Se o que tu ta montando é um arquivo de 'exclude' (tar, rsync, wget)
esse formato não vai funcionar.
Ele busca por 1 PATH por linha, e no caso das chaves eles são
expandidos na mesma linha.
--
Flavio do Carmo Junior aka waKKu
2008/7
Lei a essa thread:
http://br.groups.yahoo.com/group/shell-script/message/22436
Bem parecido com o que tu quer fazer...
--
Flávio do Carmo Júnior aka waKKu
2008/7/16 felipee_catojo <[EMAIL PROTECTED]>:
> #!/bin/bash
>
> COUNT1=0
>
> for i in `find /Disco1/bfurj/ -mtime -1 -exec du {} \; | awk -F
Nao entendi essa ideia do Reinaldo, mas acho que daria pra fazer ela
usando o "eval"
Mas segue uma alternativa:
[EMAIL PROTECTED] teste]# vet=(a b c d e test sem criatividade)
[EMAIL PROTECTED] teste]# echo $vet
a
[EMAIL PROTECTED] teste]# echo [EMAIL PROTECTED]
a b c d e test sem criatividade
[EM
Como parece que eu fui ignorado quando postei o link de uma thread
igual, eu vou postar a solução da thread e o link de novo...
Quem sabe alguem tem o trabalho de clicar e ler:
http://br.groups.yahoo.com/group/shell-script/message/22476
Re: [shell-script] Re: find + du
PUBLICI
Solução simples e marota:
utilizado=1
utilizado=`head -1 /var/lib/imap/quota/q/user.$i`
n_quota_bytes=$((0${NOVA_QUOTA}*1024))
viu o "0" ali ?
O teu erro ta no $((*1024))
pq se o arquivo na o existe, nao tem valo de $NOVA_QUOTA e ai acontece
issoa ai em cima..
Poe um zero, o resultado da operação
Funciona sim..
mysqldump ... | bzip2 -9 - > dump.bz2
--
Flávio do Carmo Júnior aka waKKu
2008/8/15 Edson Marquezani Filho <[EMAIL PROTECTED]>:
> Olá a todos.
>
> Vejamos se alguém pode me ajudar.
>
> Tenho uma operação de backup que exporta um banco de dados (MySQL)
> para um arquivo texto SQL
um simples "nl arquivo.txt" já resolve.
--
Flávio do Carmo Júnior aka waKKu
2008/8/15 Raul Libório <[EMAIL PROTECTED]>:
> Não sei se entendi bem mas um 'cat arquivo.txt | nl ' consegue
> enumerar as linhas.
> --
>
> Raul Libório
> UniJorge Redes - www.redesfja.com
> rauhmarutsªhotmailºcom
> Linu
sed -i '/padrao/d' arquivo.txt
Flavio do Carmo Junior aka waKKu
2008/8/24 Leonardo <[EMAIL PROTECTED]>:
> Olá a todos,
>
> Estou tentando criar um pequeno script que apague linhas com determinado
> conteúdo utilizando sed.
>
> Eis a tentativa:
>
> # Utilização:
> # ./sh apagalinha.sh
>
> LINHAS
Da uma olhada nisso..
Não testei mto mas parece funcionar bem, ou mais facil de melhorar.
# awk '/^Su/{print $4}' <(LC_ALL=C ncal 02 2009)
15
# awk '/^Su/{print $4}' <(LC_ALL=C ncal 10 2008)
19
(O LC_ALL=C é pra garantir que não vai ser "Domingo" invés de "Sunday").
--
Flávio do Carmo Júnior a
sort -u arq1 arq2 > arqfinal
--
Flávio do Carmo Júnior aka waKKu
2008/9/25 Paulo Soares Drumond <[EMAIL PROTECTED]>:
> Pessoal,
>
> Tenho quase certeza de que este tema já foi citado aqui - e mais de
> uma vez - mas procurei muito nos arquivos da lista e não encontrei
> (talvez por não usar a pa
$ sed -n '1~2p' arquivo.txt
--
Flávio do Carmo Júnior aka waKKu
2008/9/26 miguel saavedra <[EMAIL PROTECTED]>:
> Senhores, bom dia.
> Tenho o seguinte arquivo;
> cat file
> 1 a
> 2
> 3 d
> 4 fff
> 5 y
> .
> .
> ..
> 99
Tu não pode redirecionar a saida de um arquivo pra ele proprio..
Ou seja, o teu > $1 ali ta ferrando o arquivo.
ou usa um temporario, ou usa o sed -i
--
Flavio do Carmo Junior aka waKKu
2008/9/29 Ricardo Vendramini <[EMAIL PROTECTED]>:
>
> Ola
>
> Esta é minha primeira participacao nesta lista,
eu devo ta maluco, mas...
$ ./mycat.sh "$(:
> Na verdade, o script é só uma demonstracao, estou pensando se existe
> uma solução genérica que nao involva tocar no codigo do script.
> Suponha, por exemplo, que seja um script complexo, legado, estilo
> castelo de cartas, ou que você simplesmente não
Da uma fuçada no "ed", provavelmente ele tem a solução..
Depois vou fazer uns testes tambem..
--
Flávio do Carmo Júnior aka waKKu
2008/9/30 Victor LGomes <[EMAIL PROTECTED]>:
> Por exemplo,
>
> hoje eu faço assim:
>
> mysqlbinlog arquivo-de.log | grep -E "INSERT INTO banco.tabela .*" >
> log-in
Seria o mesmo que:
$ grep -co 29 arq.txt ??
$ grep -co 29 arq.txt
2
--
Flavio do Carmo Junior aka waKKu
2008/10/17 Flamarion Jorge <[EMAIL PROTECTED]>
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> Bom dia,
>
> Tenho um arquivo que tem a seguinte saida:
>
> 29 18 02 15 10 39
> 08 3
Só esclarecendo:
atime == Access Time (não atualização.. isso seria o mtime)
Exemplo:
ugabuga:/usr/share/doc/acpid# stat copyright
File: `copyright'
Size: 412 Blocks: 8 IO Block: 4096 regular file
Device: fe00h/65024dInode: 3162225 Links: 1
Access: (0644/-rw-r--
Mais 2cc...
Eu faria ls -tr | head -n1
Veja que o tail vai ler tudo e só te mostrar a primeira linha, o -r vai
inverter a ordem de data do ls e o head só vai ler a primeira linha e te
exibir ela e sair.
penelope:/etc# time ls -t | tail -n1
real0m0.023s
user0m0.000s
sys 0m0.004s
pene
E olha só..
nem era minha intenção mas percebam que o arquivo não aparece no tail -n1,
tive que usar tail -n2 para que aparecesse...
Mais um motivo (que esse não sei explicar agora) pra usar o head.
--
Flávio do Carmo Júnior aka waKKu
2008/10/31 Flavio Junior <[EMAIL PROTECTED]>
>
frente
>
> --- Em shell-script@yahoogrupos.com.br ,
> "Flavio Junior" <[EMAIL PROTECTED]>
> escreveu
>
> >
> > E olha só..
> > nem era minha intenção mas percebam que o arquivo não aparece no
> tail -n1,
> > tive que usar tail -n2 para q
Trabalhar com teu find ...
[EMAIL PROTECTED] voip]$ find . -iname Makefile -exec grep "SPARSE ATIVO" {} \;
$ for file in $(find . -iname Makefile -exec grep "SPARSE ATIVO" {} \;); do
DIR=$(dirname $file)
sed -i.bkp "s/SPARTE ATIVO/SPARSE ATIVO - $DIR/" $file
done
Isso deve funcionar.. ma
Na real eu acabei esquecendo de por o "-l" do grep no teu find..
Erro meu mesmo:
$ for file in $(find . -iname Makefile -exec grep -l "SPARSE ATIVO" {} \;);
do
> DIR=$(dirname $file)
> sed -i.bkp "s/SPARTE ATIVO/SPARSE ATIVO - $DIR/" $file
> done
Com o -l o grep vai retornar somente o nome do ar
Essa não é uma duvida de Shell-script, é uma caracteristica do sistema de
arquivos no qual teu pendrive ta formatado (provavelmente FAT).
Anyway, vamos resolve-la com o shell:
while IFS=$'\n' read -r FILE; do cp "$FILE" "/tmp/${FILE//:/}"; done < <(ls
*:*)
Isso vai copiar todos os arquivso com "
Se eu entendi o que tu quer, seria algo tipo:
arquivo.txt
para
Arquivo.txt ?
$ sed 's/^./\U&/' <<<"arquivo.txt"
# sed 's/^./\U&/' <<<"arquivo.txt"
Arquivo.txt
lazlo:~#
--
Flávio do Carmo Júnior aka waKKu
2008/11/13 Leonardo Bernardes <[EMAIL PROTECTED]>
> Quero capitalizar o nome de arqu
rença é que eu queria alterar
> palavras ao invés da string inteira, daí só substitui o ^ por \b e
> funcionou
>
> Valeu, obrigado!
>
> --- Em shell-script@yahoogrupos.com.br ,
> "Flavio Junior" <[EMAIL PROTECTED]>
> escreveu
> >
> > Se eu ent
Provavelmente teu problema ta nos caracteres da URL
Tenta fazer algo como:
URL=$3
lynx $1 $2 "'$3'" #aspas duplas, aspas simples, variavel, aspas simples,
aspas duplas
# echo $URL
www.goosh.org/#translate%20en%20pt%20Hello
# echo "'$URL'"
'www.goosh.org/#translate%20en%20pt%20Hello'
--
Flávio
$ grep -f arq1 arq2
Deu certo?
$ grep -f arq1 arq2 > arqfinal.txt
--
Flávio do Carmo Júnior aka waKKu
2008/11/25 daniel <[EMAIL PROTECTED]>
> Olá pessoal,
>
> Por favor, preciso de uma ajuda com o seguinte:
>
> Fazer um script shell para ler um arquivo com uma coluna de informações,
> por e
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Engraçado..
Aqui funcionou normalmente..
Por acaso não ta setando #!/bin/sh ?
veja:
[r...@bloo ~]# cat x
64.233.169.99 google.com # telnet ftp imap dns pop3 smtp
[r...@bloo ~]# cat x.sh
#!/bin/bash -x
services=($(cat x | cut -d\# -f2))
echo "Services:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Eri, podias poupar esse trabalho com o IFS usando o while..
while IFS=$'\n' read -r LINHA; do
ManageStatus "LINHA"
done < batata.txt
Deve funcionar... sempre uso assim..
- --
Flávio do Carmo Júnior aka waKKu
-BEGIN PGP SIGNATURE-
Versio
cat meuscript.sh
#!/bin/bash
read -p "Digite o nome do arquivo: " ARQ
echo "Arquivo que sera copiado: $ARQ"
scp u...@host:$ARQ .
tipo isso..
--
Flávio do Carmo Júnior aka waKKu
2008/12/16 ednei. felipe. rodrigues
> Pode exemplificar o que você quer ?
>
> 2008/12/16 everton everton >
>
>
> >
hm...
Acho q é uma boa pro "shift" ...
# echo $VAR
a a b b c c d d e e f f
# set - $VAR
# for i in $@; do echo $1 $2; shift 2; done
a a
b b
c c
d d
e e
f f
#
So pra dar uma ideia, mas devem ter soluções mto mais simples...
--
Flávio do Carmo Júnior aka waKKu
2009/1/8 Renato de Oliveira Diogo
var="a___b"
echo "$var"
a___b
substitui os espaços por ___ pq o gmail bagunça tudo.. mas a ideia das
aspas é essa ai.
--
Flávio do Carmo Júnior aka waKKu
2009/1/14 Tiago Moreira Rodrigues :
> Senhores, boa tarde, tenho o seguinte problema, tenho um valor com um numero
> certo de espaços, preci
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
No man do bash te explicaria o porque..
O caso é que "=" ou "==" (e derivados) são para comparações de STRINGS
enquanto -eq (e derivados) são para comparações de inteiros.
- --
Flávio do Carmo Júnior aka waKKu
-BEGIN PGP SIGNATURE-
Versio
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
- - Como verificar todos e-mails que o cara recebeu?
# Com o Subject
# CARA=cristiane
# ed -s x <<<"g/$CARA/-2,-1p"
- From gira...@maquinas. com.br Fri Jul 18 15:07:36 2008
Subject: Lida: DIA DO AMIGO
- From MAILER-DAEMON@ maquinas. com.br Fri Jul 18
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
É tarde cara.. nao me faz pensar mto..
lazlo:~# wget http://pcdsh01.on.br/HoraLegalBrasileira.asp -O hora.html
- --00:44:02-- http://pcdsh01.on.br/HoraLegalBrasileira.asp
=> `hora.html'
Resolving pcdsh01.on.br... 200.20.186.71
Connecting t
)
Comment: http://getfiregpg.org
iEYEARECAAYFAkl/x0cACgkQgyuXjr6dykt6lwCeIp0rXvieVYFpaopIyrY3sSEf
V3wAoMQc1UlTbk68yk4y0vvjLNN3MhHo
=N3nq
-END PGP SIGNATURE-
2009/1/28 Flavio Junior :
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
> É tarde cara.. nao me faz pensar mto
o "ed" é o pai do sed...
O ed é um editor de texto, o sed é um editor de fluxo.
Agora, sobre não se basear em uma variavel é bem dificil, visto que o
html tem mais 3 outras data/hora no mesmo formato:
lazlo:~# grep -Eo '(([0-3])?[0-9]/){2}20[0-9][0-9] ([0-9][0-9]:?){3}' hora.html
28/1/2009 00:44
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Pode forçar interpretações tambem...
echo $'linha1\nlinha2'
- --
Flavio do Carmo Junior aka waKKu
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: http://getfiregpg.org
iEYEARECAAYFAkmAtq4ACgkQgyuXjr6dykuHawCeJsGqos3cmeJzeo5
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Não entendi bem teu for, mas me PARECE errado...
Se os dados estão na mesma linha, como parecem estar, eu faria:
for img in *.jpg; do
DT=awk -F: '{print $3$4$5$6$7}' < <(exiftime -td $img)
convert -font helvetica -fill white -stroke black -points
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Postei o e-mail em: http://rafb.net/p/MyZzjR52.html por causa do
formato do gmail.
# MAC-ADDRESS (tudo maiusculo)
# ifconfig | grep -Eo '([0-9A-F]{2}:){5}([0-9A-F]){2}'
00:04:75:8B:56:AC
00:E0:7D:F8:3B:04
00:01:03:DF:75:5D
# MAC-ADDRESS
# ifconfig |
Alexandre Gorges :
> Julio, fiz o script aqui. Está funcionando perfeito. Estou enviando para
> vocês verem como ficou. Qualquer sugestão é bem vinda.
> Utilizei o código que para mac que o Flavio junior enviou
>
> Para nao ter problemas com formatacao botei no site :
> http://rafb.ne
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Não entendi bem.. mas me parece que o que tu quer é adicionar um "AS"
no inicio de todas as linhas?
Não poderia fazer algo como:
# sed 's/^/AS/' arquivo.log > list05.txt
Se por acaso tu só quer da primeira linha até auqele numero que definiu ali:
#
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
sort arquivo | uniq -d > arq3.txt
- --
Flávio do Carmo Júnior aka waKKu
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (MingW32)
Comment: http://getfiregpg.org
iEYEARECAAYFAkmUIyEACgkQgyuXjr6dykvwWACdG3zhL+iGFGZVmi81zytdbduc
5UcAoI9Kaxk6gChaq1
todo
> em shell scripting e fui muito bem respondido pelo MrBiTS, Flavio
> Junior, JCNeves. Porém, o exemplo que eu dei não era muito ilustrativo
> da minha pergunta e achei um que toca justamente na minha dificuldade
> de interpretar logs e arquivos texto que modificam seu conteúdo
> (adi
use o $@ inves do $*
--
Flávio do Carmo Júnior aka waKKu
2009/2/16 Thomaz de Oliveira dos Reis :
> Bem achei uma "solução" um tanto quanto feia. funciona mas não é
> muito.. "elegante"
>
> eu alteraria teste1.sh para conter:
>
> PARAMETROS=""
> while [ $# != 0 ]
> do
> PARAMETROS="$
ira dos Reis :
> Não funcionou....
>
> 2009/2/16 Flavio Junior :
>
>> use o $@ inves do $*
>>
>> --
>>
>> Flávio do Carmo Júnior aka waKKu
>>
>> 2009/2/16 Thomaz de Oliveira dos Reis :
>>> Bem achei uma "solução" um tanto
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Pra não fazer um offtopic, vou por mais shell nisso aqui:
Primeiro, pra facilitar tua vida com o redirecionamento pro log, tu
pode usar o "exec" com fd's:
# Inicio do script abaixo
#!/bin/bash
# Definindo variaveis
LOGDIR=/logs
DT="
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Bruno...
Teu problema é "classico", porem não simples de ser resolvido...
Veja o que faço abaixo e tente entender:
(infelizmente o gmail eh uma merda pra isso, postei aqui:
http://rafb.net/p/vgkJhV26.html )
[r...@ideafix ~]# mkdir -p teste/teste2
[r.
$ sort arq1 | uniq -d > arq2
É preciso o sort antes por que o uniq só pega duplicados em sequencia.
--
Flávio do Carmo Júnior aka waKKu
#bash-br @ irc.freenode.net
2009/2/20 André Saunite :
> Oi Miguel
>
> Assim ele lista os repetidos e mostra a quantidade de repetições:
>
> $ cat arq1
>
> aadd
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Uma forma:
[r...@pinky ~]# cat x
111
11
111
[r...@pinky ~]# sed -r -e
'/^[0-9]{10}$/s/^/0/;s/^([0-9]{3})([0-9]{3})([0-9]{3})([0-9]{2})/\1.\2.\3-\4/'
x
111.111.111-11
011.111.111-11
111.111.111-11
conteudo mais "legivel" (me
gorpo:~ # cat a
192.168.0.20
192.168.0.200
192.168.0.233
192.168.0.250
192.168.0.252
192.168.200.22
192.168.200.211
1922.168.200.212
192.1688.200.213
gorpo:~ # grep -E '\.2[1-4][0-9]$|\.250$' a
192.168.0.233
192.168.0.250
192.168.200.211
1922.168.200.212
192.1688.200.213
Se for só 192.168 poe '19
$ ls -ld /caminho/do/diretorio | grep -q rwxrwxrwx && echo TEM 777 ||
echo NAO TEM 777
Quer ser mais cauteloso (vai que o diretorio se chama
nometoscorwxrwxrwxbemaqui, né ?)
Usa o awk '{if ($1 ~ drwxrwxrwx) {print}}'
--
Flávio do Carmo Júnior aka waKKu
2009/3/17 Tiago Moreira Rodrigues :
> A
Garante que toda linha tem a palavra "serial" ? Ou que seja a terceira linha?
[r...@cerebro ~]# cat dns
$ttl 300
@ IN SOA dominio.com.br. admin.dominio.com.br. (
2005122002 ; serial > ESTA LINHA
300 ; refresh every 10 hours
300 ; retry after 1 hour
300 ; expire after 1000 hours
300 ; default t
Isso não faz mto sentido...
Problemas:
- Entrada no cron errada (numero de campos)
- Path pro teu script errado
- path pro ifconfig errado
- Permissão pro script errado
Tenta o seguinte:
# crontab -e
e adiciona:
* * * * * /sbin/ifconfig > /tmp/ifconfig.log
a cada minuto deve criar o arquivo /tmp
Preguiça hoje..
vai so o log
[r...@catatau:~]# cat a1
a1 1
a1 3
a1 5
a1 7
a1 9
[r...@catatau:~]# cat a2
a2 2
a2 4
a2 6
a2 8
a2 10
[r...@catatau:~]# while IFS='#' read -r VAR1 VAR2; do echo "Arq1:
$VAR1 - Arq2: $VAR2"; done < <(paste -d'#' a1 a2)
Arq1: a1 1 - Arq2: a2 2
Arq1: a1 3 - Arq2: a2 4
Arq1
Reparou que o segundo servidor ta em pt_BR ?
Inves de Apr, é Abr (Abril inves de April).
Provavelmente o teu postfix ta gerando Apr inves de Abr, por isso não casa nada.
faz:
LC_ALL=en_US date +"%b %e"
--
Flávio do Carmo Júnior aka waKKu
2009/4/2 M. Rodrigo Monteiro :
> Senhores, bom dia.
>
Não entendi muito bem.. mas vamos lá
Existem 2 comandos "time", um é um builtin bash outro é um /usr/bin/time
Provavelmente tu ta usando um, achando que é o outro:
lazlo:~# type time
time is a shell keyword
lazlo:~# which time
/usr/bin/time
Veja a diferença:
lazlo:~# time ls >/dev/null
real
$ find /diretorio -type f -exec mv {} /temp \;
ou
$ find /diretorio -type f | xargs -i@ mv @ /temp
--
Flavio do Carmo Junior aka waKKu
2009/4/2 Isac Luz :
> Prezados,
>
> Tenho a seguinte situação. Preciso efetuar a varredura em um diretório e
> se houver arquivos executar um processo, porém
Achei q ia ser mais simples, depois fiquei com preguiça de jogar pra
um script...
Se preferir paste: http://rafb.net/p/PqQWHW14.html
Boa sorte na tradução :)
lazlo:~# cat blah
Ficha: 01
Nome: Fulano
Resumo: blabla
Telefone: 44 -9460
E-mail: ful...@...
-
Nome: Beltrano
Ficha:02
Resumo: b
Hm.. o do jimmy me atentou a uns detalhes:
- A ordem que os campos aparecem
- A falta de algum dos campos...
Então lanço o lixão one-line shell-only v2.0:
while IFS=$'\n' read -r LINHA; do if [[ "$LINHA" =~ "Nome:" ]]; then
NOME="${LINHA/Nome:/}"; elif [[ "$LINHA" =~ "Telefone:" ]]; then
FONE="
Bom..
Tu pode fazer em 3 passos, ou ajustar um sed gigante pra fazer isso..
Mas o exemplo que eu tenho aqui, pra converter espaços em branco por _ é esse:
$ find /diretorio -depth -print0 | xargs -0 -iVAR bash -c 'Nome="VAR";
echo mv -vf "$Nome" "${Nome// /_}"'
Se for SOMENTE arquivos, pode tro
Da uma olhada ai..
Escrevi um exemplo rapido só pra tu entender:
http://rafb.net/p/do8ooc76.html
o \033 é o caracter de controle, o [10G é a coluna onde deve ir o cursor.
Sendo POS=10, no caso.
Da pra fazer com tput tbm.. mas nao gosto dele.. nao pra isso :)
--
Flávio do Carmo Junior aka waKKu
seta o shebang com -x e cole-nos ( http://rafb.net/paste ) TODO o log de saida.
Ta muito ruim de ler teu script.
"shebang com -x" == #!/bin/bash -x
--
Flávio do Carmo Júnior aka waKKu
2009/4/8 Felipe :
> Olás,
>
> Então, fiz os testes com -eq, == e também retirei o espaço para tentar ver
> se
*/5 * * * * mpstat -p ALL > /dir_compartilhado/$(hostname -s)
ou então
*/5 * * * * rm -f /dir_compartilhado/mpstat-all.log && mpstat -p ALL
>> /dir_compartilhado/mpstat-all.log
Claro que to falando do crontab, e em todos os nodes do cluster. :)
--
Flavio do Carmo Junior aka waKKu
2009/4/14 Lu
1 - 100 de 596 matches
Mail list logo