Fala Israel,
dando uma otimizada na idéia do Otávio:
$ sort -nt . -k 1 -k 2 -k 3 -k 4 temp.txt
10.0.5.2
10.0.5.3
10.0.5.6
10.0.5.10
10.0.5.16
Abração,
Julio
Em 27/01/08, Otávio Fernandes <[EMAIL PROTECTED]> escreveu:
>
> Israel,
>
> Tenho sim:
>
> $ cat temp.txt
> 10.0.5.10
> 10.0.5.16
> 10.0
Veja no histórico da lista como se aplica o cmd comm.
Abraços,
Julio
Em 29/01/08, Gemayel Alves <[EMAIL PROTECTED]> escreveu:
>
>
> Pessoal queria saber uma maneira rapida de solucionar o seguinte problema,
> tenho dois arquivos file1 e file2 dentro de cada arquivos contem linhas
> algumas sao i
Fala Adelson,
use o printf. No Papo de Botequim vc tem uma explicação detalhada deste cmd.
$ printf "%02d\n" 3
03
$ printf "%02d\n" 1
01
$ printf "%03d\n" 1
001
$ printf "%03d\n" 3
003
Abraços,
Julio
Em 29/01/08, Adelson O. Junior <[EMAIL PROTECTED]> escreveu:
>
> Olá pessoal, estou com um pr
Se nenhuma das opções dadas funcionar, faça assim:
$ (java nome_programa) > teste.txt
Com os parêntese, o prg será executado em um sub shell e toda a saída deste
sub shell será redirecionada para o arquivo.
Abração,
Julio
Em 30/01/08, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> escreveu:
>
>
Fala Alisson,
Servidor Windows serve o que? Virus? :)
Acho que vc terá somente 2 opções:
-1 - Formate o disco e instle Linux
-2 - Faça um script com 2 ftp: um fazendo rwin1 -> Linux e outro fazendo
Linux -> rwin2. Como vc disse que postou o mesmo tópico há pouco tempo, já
deve saber como fazer os
Breve a lista vira zona total...
Em 01/02/08, Forum Linux <[EMAIL PROTECTED]> escreveu:
>
>
> Edilson
>
> >Pessoal estou querendo colocar uma unidade di fita de backup DLT para
> >funcionar com o UBUNTU 7.10. Alguem tem ideial de qual seja o device.
> >Pois antes era o /dev/st0. Só que nessa versã
Fala Paulo,
o que o Leandro quis dizer foi para vc ler os "Papo de Botequim" em
www.julioneves.com que é um livro livre de shell, em português e cheio de
exemplos.
Lá vc verá que construções do tipo:
while read cmd
do
...
...
done < "$FILENAME"
Servem para ler cada linha do arquivo definido na v
nteses não é chamada outra shell para executar o java ??
>
> On Thu, 2008-01-31 at 10:04 -0200, Julio C. Neves wrote:
> > Se nenhuma das opções dadas funcionar, faça assim:
> >
> > $ (java nome_programa) > teste.txt
> >
> > Com os parêntese, o prg será executado em
Pessoal, nesse aqui até eu gostaria de ir pois é uma parceria da 4Linux com
a Linux Foundation. Veja a noticia em
http://idgnow.uol.com.br/carreira/2008/01/30/linux-foundation-seleciona-6-desenvolvedores-para-atuacao-no-brasil/
Quem se julgar apto mandar e-mail com CV para [EMAIL PROTECTED]
Abraç
Grande Davidson,
Se não me falha a memória (e ela tem falhado muito) :( a opção -c é para
especificar a largura da saída. Eu costumo fazer isso com o cmd paste. Veja
só:
$ paste - - - < lixo
linha1 linha2 linha3
linha4 linha5 linha6
$ paste -d# - - - < lixo
linha1#linha2#linha3
linha4#linha5#l
Aê Czar,
tudo one-liner...
$ cat a
a
b
c
g
e
$ cat b
a
e
c
x
$ grep -vf b a
b
g
União:
$ paste a b | xargs -n1 | sort | uniq
a
b
c
e
g
x
Interseção:
$ grep -f a b
a
e
c
Abração,
Julio
Em 08/02/08, Ivan lopes <[EMAIL PROTECTED]> escreveu:
>
> Muito obrigado Tiago e Darlon, VLW!
> vou testar a
Sem pensar muito vc pode fazer com 2 ftp:
ftp -ivn host << fim1
user nome senha
dir . arquivos
fim1
O cmd dir (que é igual ao ls) cria o arquivo arquivos na máquina local com o
conteúdo do diretório corrente na máquina remota. O que vc tem de fazer
agora é jogar para uma variável somente o nome d
O sort com a opção -u não é válido no Unix e por isso não me habituei em
usá-la. Mas realmente no Linux é a melhor saída.
Abraços,
Julio
Em 10/02/08, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> escreveu:
>
> Ola Christian
>
> 2008/2/10 Christian Lyra <[EMAIL PROTECTED] >:
> >
> > caros,
> > é
Fala Julio
fazer md5 de diretório??? Melhor salvar uma única vez a imagem do diretório
para um arquivo:
ls -l $(find /etc/init.d -name \*) > initd.imagem
e qdo vc quiser checar a sua consistência basta fazer:
if cmp <(cat initd.imagem) <(ls -l /etc/init.d)
then
echo diretório íntegro
else
Fala Patrick,
isso é muito básico. Acho melhor vc dar uma lida nos artigos chamados Papo
de Botequim que estão em www.julioneves.com para, pelo menos, aprender o
básico do básico.
Abração,
Julio
Em 16/02/08, patrick <[EMAIL PROTECTED]> escreveu:
>
> Olá,
> Bom eu gostaria de saber qual a melh
Muito bem colocado Tiago,
espero que os moderadores adotem esta sua discrição como uma bíblia de
moderação. Parabéns,
Julio
Em 20/02/08, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> escreveu:
>
> Recentemente Tivemos um caso de postagem de codigo perl que resultou
> em uma moderação.
>
> Acontece
Fala Tiago,
eu já disponibilizei no meu site (www.julioneves.com) as mudanças da 6a.
para a 7a. edição do meu livro (que já está saindo) e contempla um apêndice
inteiro só do wget e do netcat. Ver para crer. :)
Abraços,
Julio
Em 22/02/08, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]> escreveu:
>
Fala Thiago,
faça um loop com read -sn1 e verifique se o valor que foi digitado pertence
ao conjunto que vc deseja. É chato mas da pra fazer. Veja um pequeno exemplo
de como proceder:
while read -sn1 a
do
y=
x=$(echo "$a" | cat -vet)
[[ "$x" == "^[$"* ]] && read -n2 y
case $y in
Se a linha começa por "To:", faça:
sed '/To:/s/;/,/g' arquivo
Confira o resultado. Se estiver correto, faça:
sed -i.old '/To:/s/;/,/g' arquivo
fazendo assim, "arquivo" ficará alterado e "arquivo.old" permanecerá intacto
para um possível roll back (mv arquivo.old arquivo)
Abraços,
Julio
Em 27
Aê Allan
$ Chars='abcdefghijklmnopqrstuvxwyzABCDEFGHIJKLMNOPQRSTUVXWYZ0123456789_'
$ for ((i=1; i<=8; i++)); { echo -n ${Chars:$(($RANDOM % ${#Chars})):1}; };
echo
jUTP8taz
Abraços,
Julio
Em 03/03/08, allan_guerreirodeluz <[EMAIL PROTECTED]>
escreveu:
>
> Pessoal,
> Tentei criar um script gerad
a b c d e f g h i j k l m n o p q r s t u v x w y z A B
> C D E F G H I J K L M N O P Q R S T U V X W Y Z 0 1 2 3 4 5 6 7 8 9 _
> ! @ # % ¨ * & ¨ %
> for ((i=1; i<=8; i++));{echo -n ${CHARS:$(($RANDOM % ${#CHARS})):1};};
> echo $CHARS
>
> --- Em shell-script@yahoogr
Aê Djan,
é provável que alguém te dê uma resposta mais otimizada, porém rapidamente,
o que me ocorreu foi o seguinte:
$ sed 's/\([0-9]\{2\}\)\([0-9]\{2\}\)/20\1 \2/;s-\.-/-g' <<< 20.07.0714
:15:57
20/07/2007 14:15:57
Na primeira parte do sed eu coloquei o século (2007) e o espaço entre a data
e a
\{\}
>
> sed 's/\([0-9]\{ 2\}\)\([0- 9]\{2\}\) /20\1 \2/;s-\.-/-g' <<< 20.07.0714
> :15:57
> sed: -e expression #1, char 43: Invalid content of \{\}
>
> Não encontrei o erro.
>
> - Mensagem original
> De: Julio C. Neves <[EMAIL PROTECTED] &
r a opção via
> expansão de variaveis?
>
> Talvez usando o sh do BSD... sei la... ou KSH
>
> 2008/3/4 Julio C. Neves <[EMAIL PROTECTED] >:
> >
> > Vc copiou errado. O que postei foi:
> >
> > $ sed 's/\([0-9]\{2\}\)\([0-9]\{2\}\)/20\1 \2/;s/\./\//g'
Use named pipes e mande a saida dos escripts para esses caras.
Antes faça:
$ mkfifo fifo1 fifo2 fifo3
O scritp 1 será:
#!/bin/bash
clear
read -p "Infome um número de 1 a 4" numero
echo $numero > pipe1
O segundo será:
#!/bin/bash
while true
do
case $(cat pipe1) in
1) echo a;;
Não podemos nos esquecer do xargs:
$ echo "Campo1: Dado1
Campo2: Dado2
Campo1: Dado1
Campo2: Dado2
Campo1: Dado1
Campo2: Dado2" | xargs -L2
Campo1: Dado1 Campo2: Dado2
Campo1: Dado1 Campo2: Dado2
Campo1: Dado1 Campo2: Dado2
SuShellso,
Julio
A partir de 05/04 estarei dando um curso de Shell em SP.
Fala Thiago,
quem te disse que o sinal 20 monitorava cntr+z? Acho que isso tá furado. Até
onde eu saiba o cntr+z não gera sinal.
Qdo vc faz:
trap 2
o que vc está fazendo é restaurar o sinal 2 ao seu default. Para tornar o
prg unbreakable, vc deve fazer:
trap ' ' 2
ou
trap "" 2
SuShellso,
Julio
Fala Rafael,
a saída para os seus anseios não é um for temporal, mas um named pipe ou um
trap 17.
Veja detalhes do primeiro em:
http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo011#Named_Pipes
;
do segundo em:
http://twiki.softwarelivre.org/bin/view/TWikiBar/TWikiBarPapo010#O_trap_n%E3
gundo desabilitou o ctrl+z
>
> testa ai pra vc ver!
>
> Entao eu pus um unico trap: trap "" 2 20
>
> Abracao!!
>
> "Julio C. Neves" <[EMAIL PROTECTED] >
> escreveu:
> Fala Thiago,
> quem te disse que o sinal 20 monitorava cntr+z? Acho que i
Fala Petry,
Que tal não usar o sed e fazer um one liner assim:
ls pasta | head -100 | xargs -i mv pasta/{} /home/teste/temp
Temos que avaliar a performance, porém acho assim muito mais elegante.
SuShellso,
Julio
A partir de 05/04 estarei dando um curso de Shell em SP.
Mais informações em www.4li
> echo "movendo arquivos"
> ls | head -200 | xargs -i mv {} /pasta/para/onde/vai
> echo "arquivos movidos"
> sleep 45
> done
>
> Obrigado!
>
> Em 02/04/08, Julio C. Neves <[EMAIL PROTECTED]>
> escreveu:
> >
> > Fala Petry,
> &
Fala Amigo MrBiTs!
Me diga uma coisa: o que os moderadores farão com certas pessoas que
insistem em usar o que chamo de "burrês" (outros chamam de internetês ou
pitex) que é aquela linguagem que alguns "eruditos" insistem em usar para se
comunicar (será?) pela internet.
Uma coisa é usar abreviatur
Aê Eddy,
$ echo "Endpoint Label : server
> IP Address : 172.11.251.225+9484
> Current Status : connected
> Endpoint Label : hsqd0476
> IP Address : 172.11.211.226+9484
> Current Status : connected
> " | sed '/^Endpoint/i
> '
Endpoint Label : server
IP Address : 172.11.251.225+9484
Current Status :
Fala Eri,
está sumido heiiim? Por onde vc andou esse tempo todo?
Aê Eri, vc deu um bom exemplo mas esquecer de citar a diferença. Eu diria
que não há semelhança alguma, muito pelo contrário, são diametralmente
opostos.
Enquanto o source (ou .) executa o script chamado no mesmo ambiente do seu
she
Fala Ednei,
vc se enganou qdo disse que a saída da variável seria linear. Estou
escrevendo isso não é para te corrigir, é pq é um erro *muito freqüente*
então vale a pena mostrar pra todos. Veja este exemplo:
$ var="linha1
> linha2"
$ echo $var
linha1 linha2
$ echo "$var"
linha1
linha2
Agora veja
Fala Markinhos,
não está testado, mas deve funcionar. Se vc quiser com interatividade, faça:
$ grep -i ^aluno arquivo | cut -f2 -d: | xargs -pL1 useradd
caso contrário (mais rápido e menos chato), faça:
$ grep -i ^aluno arquivo | cut -f2 -d: | xargs -L1 useradd
SuShellso,
Julio
2008/5/18 mark
emorizar melhor esse comportamento do shell. O resultado é mais efetivo
> ao fazer isso quando realmente se está a precisar desse conhecimento,
> custando apenas alguns minutos, que são amplamente recuperados,
> com juros, posteriormente.
>
>
>
> -
Fala Ednei,
Olha só:
sed -r 's/^.*_(.*)_.*/\1/' <<< "sip_1.0_a
> sip_1.0_b
> fwenv_3.0_d"
1.0
1.0
3.0
Abraços,
Julio
Em 21/05/08, Édnei Rodrigues <[EMAIL PROTECTED]> escreveu:
>
> Boa tarde. Não estou conseguindo realizar a seguinte captura de um
> arquivo:
> sip_1.0_a
> sip_1.0_b
> fwenv_3.0
Ai Tiago,
tenta assim:
while read Id Home
do
.
done < <(paste arqIds arqHomes)
Sucesso,
Julio
:wq
Thiago Germano Beier wrote:
>pessoal tenho 2 arquivos
> um arquivo tem IDs dos usuarios
> outro arquivo tem /home dos usuarios
>
> preciso ler os 2 arquivos e criar o home , chown -
Ai Tiago,
tenta assim:
while read Id Home
do
.
done < <(paste arqIds arqHomes)
Sucesso,
Julio
:wq
Thiago Germano Beier wrote:
>pessoal tenho 2 arquivos
> um arquivo tem IDs dos usuarios
> outro arquivo tem /home dos usuarios
>
> preciso ler os 2 arquivos e criar o home , chown -
Raquel,
desta vez vc exagerou na dose! Vc pediu especialista em diversos sabores
de rwin e nao ofereceu nada de shell.
Julio
- Moderador -
:wq
Raquel Marques wrote:
>A Compromisso é uma consultoria com 13 anos no ramo de tecnologia,
>atuando nas áreas de desenvolvimento de sistemas, alocação e
Ai Tiago,
tenta assim:
while read Id Home
do
.
done < <(paste arqIds arqHomes)
Sucesso,
Julio
:wq
Thiago Germano Beier wrote:
>pessoal tenho 2 arquivos
> um arquivo tem IDs dos usuarios
> outro arquivo tem /home dos usuarios
>
> preciso ler os 2 arquivos e criar o home , chown -
Julio C. Neves wrote:
> Ai Tiago,
> tenta assim:
> while read Id Home
> do
>
> .
> done < <(paste arqIds arqHomes)
>
> Sucesso,
> Julio
> :wq
>
> Thiago Germano Beier wrote:
>
>> pessoal tenho 2 arquivos
>> um arquivo
Julio C. Neves wrote:
> Ai Tiago,
> tenta assim:
> while read Id Home
> do
>
> .
> done < <(paste arqIds arqHomes)
>
> Sucesso,
> Julio
> :wq
>
> Thiago Germano Beier wrote:
>
>> pessoal tenho 2 arquivos
>> um arquivo
Alain,
o cmd dirname te devolve o caminho relativo. Entao uma forma de resolver
isso eh:
cd $(dirname $0)
pwd
cd -
[ ]s,
Julio
:wq
Alain wrote:
>Como eu acho em que diretório está o script atual? Eu sei que $0 tem o
>nome completo, o comando abaixo faz o inverso, ou seja me dá só o nome
>mas
Fala Igor,
um one liner de presente para vc. :)
tr $(cut -f1 -d' ' tab | paste -s -d "") $(cut -f2 -d' ' tab | paste -s
-d "") < arquivo
Explico:
o tr tem 2 parametros que sao: dos-caracteres para-os-caracteres para
cria-los cortei cada uma das colunas da tabela (cut -fx -d' ' tab),
colocando-
Fala Igor,
um one liner de presente para vc. :)
tr $(cut -f1 -d' ' tab | paste -s -d "") $(cut -f2 -d' ' tab | paste -s
-d "") < arquivo
Explico:
o tr tem 2 parametros que sao: dos-caracteres para-os-caracteres para
cria-los cortei cada uma das colunas da tabela (cut -fx -d' ' tab),
colocando-
Meu amigo MrBiTs,
vc andou sumido! Antes de ler a sua moderação, detonei o cara, o que
prova que continuamos afinados :)
Seja muito benvindo
Abração,
Julio
:wq
--- Em shell-script@yahoogrupos.com.br, MrBiTs <[EMAIL PROTECTED]> escreveu
>
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
>
>
Aê Elias,
paste -sd+ <(grep '192.168.10.' ipfm.log | cut -f2 -d' ') | bc
o -s transforma a 2a. coluna em linha, a opção -d diz que o separador
entreo os campos é o sinal mais (+). Assim o paste gera algo como:
23+54+22+67+...
Que será enviado para o bc fazer as contas.
[ ]s,
Julio
:wq
--- Em
Valeu Ivan,
há algumas semanas vc colocou na lista suas dívidas qto aos
redirecionamentos mais elaborados e até onde pude acompanhar, ninguém te
respondeu.
Se consegui captar a essência, acho que vc "meteu a cara" e pesquisou sobre
o exec e redirecionamentos e agora está dividindo com a galera o q
Tchau Gentil,
sinto muito a sua ausência, pq acompanhei a sua evolução técnica na lista.
Agora somente posso dizer que tenho certeza que o grupo inteiro sentirá a
ausência de um de seus maiores fomentadores/colaboradores.
Seja feliz,
Julio
:wq
Em 21/06/06, Gentil de Bortoli Júnior <[EMAIL PROTEC
Fala Luis,
tem sim, só não sei se vai servir.
1 - Vá em www.julioneves.com e escolha Papo de Botequim 11;
2 - Leia atentamente a seção sobre named pipes;
3 - Depois que vc ler, crie um FIFO e faça no 1o. terminal um scriptizinho
(que pode ficar em background) que faça o seguinte:
while true; do
Esqueci de falar, mas é meio óbvio, que todos os terminais têm de estar
logados no diretório onde foi criado o FIFO (ou named pipe)
Abraços,
Julio
:wq
2006/6/23, Julio C. Neves <[EMAIL PROTECTED]>:
>
> Fala Luis,
> tem sim, só não sei se vai servir.
>
> 1 - Vá em www.jul
;:
>
> hm while true sem sleep ?
>
> acho que vai levar o CPU a 100% ...
>
> ACHO !
>
>
> Flavio do Carmo Junior aka blk1d
>
>
> On 6/23/06, Julio C. Neves <[EMAIL PROTECTED]> wrote:
> > Esqueci de falar, mas é meio óbvio, que todos os terminais
Otávio,
experimente antes de cada apt colocar um "yes |". Isso deve resolver o seu
problema de pedir confirmação. Para fazê-lo de forma rápida, tente o
seguinte:
sed 's/^apt/yes | apt/' arquivo/do/script
Abração e sucesso,
Julio
:wq
2006/6/27, campos.otavio <[EMAIL PROTECTED]>:
>
> --- Em shell
Fala Czar,
dá uma olhada em www.julioneves.com e lá escolha o Papo de Botequim 11 e
leia a parte referente a substituição de processos. O ideal seria ler todo o
tópico sobre named pipes, mas leia pelo menos o que indiquei.
Abração,
Julio
:wq
2006/6/28, Ivan lopes <[EMAIL PROTECTED]>:
>
> amigos s
Fala Luiz,
a sua linha de código estava com um apóstrofo a mais. Depois de tirá-lo veja
a execução:
Prompt> echo -e 123456789'\015\012' | cat -vet
123456789^M$
$
No cat -vet o LF aparece como um cifrão e os caracteres de controle
precedidos por cincunflexo.
Prompt> echo -e 123456789'\015\012' | o
O Thomas foi o melhor aluno desta turma e tenho certeza que em breve ele
estará nos ajudando bastante.
Thomas, não tenho intimidade com o Gentoo, porém posso te adiantar que em
alguns Unixes esta opção tb não existe. Se for este o caso, acho uma pena
que algumas distros fujam do padrão em algo tão
Fala Jorge,
se vc fizer:
tput sc # sc = Save Cursor position
será salva a posição atual do cursor. Para voltar a esta posição, use:
tput rc # rc = Restore Cursor position
Para saber o tamanho da tela, use:
tput lines
ou:
tput cols
Vc verá isso e muito mais em www.julioneves.com
esma posição (x/y) tipo
>
> for i in $(seq 1 10); do
>tput cup XX 0
>echo "--> $i"
>sleep 0.2
> done
>
> quero que ele fique imprimindo na linha currente de execução...sacou?
> isto e possivel? por que da forma que eu fiz eu to limpando a tela e
>
ços,
Julio
:wq
2006/7/5, Jorge Pereira <[EMAIL PROTECTED]>:
>
> sim!!
>
> na medida certa, minha unica duvida foi e referente a justificar o texto
> precisamente no lado direito, não encontrei a opção do tput para isto.
>
>
> On 7/5/06, Julio C. Neves <[EMAIL PRO
$_str
>
>
> Jorge Pereira
> [EMAIL PROTECTED]:~/scripts>
>
> mais queria fazer de uma forma que fica-se generica a posição da linha,
> tentei salvando a posição do cursor e recuperando mais não rolou!
> alguma sugestão?
>
> On 7/6/06, Julio C. Neves <[EMAIL PROTECTED
Fala Antonio,
a proposta que o Thiago fez é bem mais eficiente do que com o uso do cut pq
é um intrínseco (builtin) do Shell. No entanto se vc se sentir melhor usando
o cut, preste atenção nos espaços em branco, protejendo-os sempre da
interpretação do Shell. O certo seria fazer:
$ FILE="EDISHIP11
Aê Eduardo,
A que eu mais gosto:
$ paste -sd+ valores.txt | bc
166
A opção -s transforma coluna em linha, a opçao -d indica o delimitador e bc
é uma calculadora. Veja só o paste:
$ paste -sd+ valores.txt
23+21+90+32
Abração e "suShellso" :)
Julio
:wq
Em 12/07/06, Eduardo daSilva Ramos <[EMAIL
Acho que vc tem razão Eriberto,
já tive um problema desses uma vez e resolvi da seguinte maneira:
$ echo $(tr '\n' "+" < val.txt)0 | bc
Que tirando o bc, produz:
$ echo $(tr '\n' "+" < valores.txt)0
23+21+90+32+0
e o zero ao final deixa a barra limpa.
Tenho acompanhado o desenvolvimento do HL
Ô João,
cara man todo mundo conhece na lista e vc foi mandar logo o owner da lista
ler o man??? Quequeisso João!? Tu tá parecendo estagiário até na lista,
rapaz!?
Pessoal, estou brincando com o João pq ele foi meu aluno na UniRIO
(excelente aluno, por sinal) e é novo na lista. Mas aproveito para d
Uma forma:
Monte um arquivo chamado arq com a seguinte linha:
mv $1 ${1%.*}
torne-o executável
no prompt execute o seguinte cmd
find . -type f -name "[a-zA-Z1-9_]*.*" -exec ./a {} \;
Ponha dentro do par de colchetes todos os caracteres que vc usa no inicio
dos nomes dos arquivos. Isto é necessári
Aê weder,
o separador decimal é ponto (.) e faça da seguinte forma:
echo "scale=4; 22/7" | bc
Desta forma vc fará a divisão de 22 por 7 com uma precisão de 4 decimais.
--
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de
Em 13/07/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> escreveu:
>
> de vez enquando eu acredito que o Julio é mágico,
>
Quequeisso rapaz!!! Tudo, menos mágico. :)))
--
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembr
Olá Professor,
faça algo +/- assim:
Limite= # Especifique nesta variavel o valor do maior
# numero desejado +1. Deverá ser <= 32767
# Se quiser listar, faça:
echo $((RANDOM%Limite))
# E se quiser armazenar o valor gerado:
Valor=$((RANDOM%Limite))
Abraços,
Julio
:wq
Em 13/07/
imeira participacao neste grupo, ao qual tenho orgulho
> de ter conhecido atraves do Julio C. Neves, num curso de shell em
> Vitória ES.
> Como iniciante que sou la vai uma duvida de iniciante..rsrs
>
> Como renomear arquivos e diretorios recursivamente?
> Depois de tentar muito nao
Fala Weder,
eu disse scale=4 e não scale-4
Abração,
Julio de férias. :)
:wq
Em 14/07/06, weder_feliciano <[EMAIL PROTECTED]> escreveu:
>
> Olá Julio,
>
> Desculpas mas ainda não entendi muito bem, eu fiz:
> echo "scale-2; 13/5" | bc
> O resultado deveria ser 2.6, mas o lha o que aparece:
> -2
>
> > outro_arquivo_6.new outro_arquivo_8.new
> > outro_arquivo_1.new outro_arquivo_3.new outro_arquivo_5.new
> > outro_arquivo_7.new outro_arquivo_9.new
> > [EMAIL PROTECTED] outro_dir]#
> >
> > entendeu +- ?
> > On 7/14/06, Julio C. Neves <[EMAIL PROTECTED
fazer isto? Abaixo, o scritp criado.
>
>
> #!/bin/bash
> MAXCOUNT=1
> count=1
> while [ "$count" -le $MAXCOUNT ]
> ($MAXCOUNT) random integers.
> do
> number=$RANDOM
> echo $number
> let "count += 1"
> done
> ##
Fala Weder,
esta dúvida é muito básica. Que tal dar uma estudadinha antes? Se vc quer
que a lista resolva tudo para vc, passe logo o seu problema como um todo,
mas já vou te avisando: é muito raro o pessoal o pessoal te entregar tude na
bandeja sem sentir que vc está se esforçando para aprender.
M
Bem pensado Eduardo. Valeu!
--
[ ]s,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org
Em 14/07/06, Eduardo Jaime Quiros Batres <[EMAIL PROTECTED]> escreveu:
>
> acho que isto f
Terá que criar o contador e o let é muito bom para isso, mas não para o que
vc fez (let é uma instrução para usar a matemática. Não é para atribuir
valores a strings). Teu script ficaria muito melhor assim:
while read METODO; do
let XXX++
[ "$METODO" -eq 100 ] && echo Metodo $METODO encon
Aê Rafael,
mail -s "assunto" $(paste -sd' ' Arq/De/Emails) < Arq/De/Texto
Abraços,
Julio (http://www.julioneves.com)
Participe do 4o CONISLI - Congresso Internacional de Software Livre, dias
7 a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org
2006/7/17, Rafael Tomelin <[EMAIL PROTECTED]
Fala Mauricy,
Vamos ver se isso atende:
Edite o /etc/passwd do usuário e no campo shell default (o último) coloque o
nome do script.
Não é isso? Então creio que a única saida seria executar o shell via cmd
source (ou .) da seguinte forma:
source script.sh
ou
. script.sh
desta forma script.sh
nisli.org
Entendi o seguinte:
>
> Arq/De/Emails = Onde está a minha lista de emails. (tem que ser um em
> baixo do outro?)
>
> Arq/De/Texto = Arquivo onde se encontra o texto.
>
> Mas o que seria = $(paste -sd' ' ??
>
>
> É isso que entendi mais ou menos?
ue fiz:
>
> [EMAIL PROTECTED]:~# mail -s "teste de emails" $(paste -sd' ' emails) <
> texto
>
> Mas ele não envia e fica parado, como se tivesse que inserir o corpo do
> email.
>
> Já coloquei o ponto depois desse comando, mas mesmo assim não adiantou.
Alexandre,
seu script está dando muito trabalho para ler pq vc trocou todos os cmds por
variáveis. Como estou sem ssh, não tenho certeza se isso funcionará, mas
deve ser testado. O ssh deverá ser feito da seguinte maneira:
ssh $IP || {
echo ssh não funcionou para $IP
continue
}
Espero
Fala Professor,
Primeira e mais importante recomendação: *saia do rwin e venha para o linux*
cygwin é uma tentativa desesperada de algum aficcionado pelo Linux de fazer
algo *parecido*.
Agora respondendo às suas dúvidas: existem 2 excelentes calculadoras no
Bash:
1. dc - Calculadora polonesa r
Luis,
faça no prompt:
echo $PATH
Se não aparecer nada ou os caminhos listados forem malucos, crie a variável
no seu .bash_profile, se a variável estiver definida, teste:
export PATH
e em seguida execute novamente os scripts. Funcionou? Vá no arquivo que cria
estas variáveis (.bash_profile ou .b
a que ele envia-se 1 email por vez. Esses emails estariam na no
> arquivo em forma de lista.
>
> Agradeço mais uma vez.
>
>
>
>
> 2006/7/18, Julio C. Neves <[EMAIL PROTECTED]>:
> >
> > O certo é:
> > mail -s "teste de emails" $(paste -sd
a 11 de novembro - SESC Vila Mariana - SP
www.conisli.org
2006/7/19, ltiani <[EMAIL PROTECTED]>:
>
> Julio,
>
> Sim, a variavel estah definida... de toda forma fiz o export mas os
> erros continuam..
>
> Abraço!
>
> Luis
>
> --- Em shell-script@yahoogr
Fala Jefferson,
acho que o Tiago tem (+/-) razão. Tenho a impressão (sem testar, pois veja o
horário do meu e-mail) e quase certeza que o here document feito com a
sintaxe que ele propos (<<-) só tira os da frente do label. Veja se a
linha do label (FIM) não tem espaços em branco antes ou após.
O
É sempre bom relembrar: A msg número 10530 da nossa lista tem 4 scripts: 2
para trabalhar com datas e 2 para horários. Vale a pena dar uma olhada, o
endereço é:
http://br.groups.yahoo.com/group/shell-script/message/10530?viscount=100
Abraços a todos,
Julio (http://www.julioneves.com - Um livro de
A resposta está em uencode e udecode que está no histórico da lista
trucentas vezes. Vamos adquirir o hábito de, antes de perguntar, consultar o
nosso histórico. É bom e pode-se aprender coisas que não eram dúvidas até
nos depararmos com a resposta.
[]s,
Julio
:wq
2006/7/20, Rafael Tomelin <[EMAI
Grande Tiago,
vc é um dos melhores colaboradores da lista, e tenho certeza que todos
apreciam isto demais! Porém não se iniba com suas convicções. Como bem sabes
as fronteiras são muito tênues e o shell usa e abusa de ERs e por isso elas
(que bacana, acho que é o único feminino que uso em shell) es
Aê Fernando,
Se é para pegar de uma variável podemos usar Here Strings:
$ frutas="pera uva maçã"
$ read f1 f2 f3 <<< "$frutas"
$ echo $f1
pera
$ echo $f2
uva
$ echo $f3
maçã
Se é para ler arquivos comportados (como vc falou), suponha que este arquivo
tem 3 colunas separadas por espaços em branco.
Em 2004 postei na lista 2 scripts: dton.sh que convertia datas na qtd de
dias a partir de 01/01/1980 e ntod.sh que fazia o oposto, isto é, convertia
um número em data, como se aquele número fosse a qdt de dias decorridos a
partir de 012/01/1980.
O bacana deste método é que vc pode subtrair datas,
"${_strtmp}""
let n=n+1
} done
}
_explode "teste" : "eu:quero:isto:neste:valor:teste"
echo [EMAIL PROTECTED]
eval echo \${$_arrayName[0]}
eval echo \${$_arrayName[1]}
eval echo \${$_arrayName[2]}
$ ./arr
eu quero isto neste valor teste
eu
quero
isto
N
Moderado!
Julio
- Moderador -
:wq
2006/7/25, Jorge Pereira <[EMAIL PROTECTED]>:
>
> Hahahaha
> Instalem este plugin no XMMS, e muito irado o nome dele e "Gdancer"
>
> http://www.figz.com/
>
> OBS: Para quem estiver utilizando debian, basta puxar pelo apt.
>
> apt-get install gdancer
>
> [
Use um tee na saída de erro de forma a mandar para o arquivo principal e
para outro que vc escolher (digamos ArqErr).
Em seguida faça um grep -f ArqErr ArqGeral. Assim, o grep procura as linhas
de ArqGeral, que estão presentes em ArqErr, mas acho que se vc já tem tudo
em ArqErr, não precisará dest
Fala Tiago,
Já que vc está ajudando ao colega, ajude-o tb a encolher este prg. Parece
que ele está programando em Cobol ou Java :)
--
Abraços,
Julio
http://www.julioneves.com - Um livro sobre Bash completo e on-line
:wq
2006/7/25, Tiago Barcellos Peczenyj <[EMAIL PROTECTED]>:
>
> por que ao inv
Desde o seu primeiro e-mail o Tiago está pedindo para colocar o erro. É
assim que se faz...
Se vc já houvesse postado na sua primeira msg, todos que estão habituados
com shell, veriam que o erro está no script que foi chamado e não na
estrututa de if (que alias deveria ser trocada por um case).
A
Encolhendo:
while :; do
clear
read -p "Faça sua escolha:
Cadastra alunos(1)
Marcar as notas(2)
Ver ficha do aluno.(3)
Sair...(4)
Sua escolha e: " escolha
case $Escolha in
1) echo "1"
./cadastro.sh ;;
2) ech
Poxa Tiago,
me admiro vc! Depois de responder tanta pergunta feita com prequiça, vc
ainda não aprendeu a deduzir o que vai na cabeça do perguntador? :)
Estamos prestes a receber a seguinte pergunta (cujo assunto é HELP):
Quero fazer script. HELP!
--
Abraços,
Julio
http://www.julioneves.com - Um
Fala Rafael,
te peço o favor de evitar responder "procure no man". Ora, isso todos já
sabem. Se o colega está colocando uma pergunta na lista, deve ser pq ele não
sabe inglês ou pq não entendeu o man, que como todos sabemos, as vezes não é
fácil de entender.
Jonh, uma sintaxe básica:
mail -s "ass
801 - 900 de 919 matches
Mail list logo