shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Arquivo em bash


From: Renato Silveira
Subject: RES: [shell-script] Arquivo em bash
Date: Thu, 3 Jan 2002 13:54:56 -0300

Pessoal,

Tá interessante esta "briguinha"  ;-) !

Mas vcs "cobras" poderiam dar uma canja pra nos leigos é explicar pra que
serve e como funciona o dd.

Valeu


Renato

> ----- Mensagem original -----
> De:           Julio Cezar Neves - DISB.O
> [SMTP:address@hidden]
> Enviada em:           Quinta-feira, 3 de Janeiro de 2002 13:41
> Para:         address@hidden
> Assunto:              RE: [shell-script] Arquivo em bash
> 
> Pô Gente!!  dd é apelação!!!!!
> 
> Já que tocaram neste assunto, vou mandar uma rotininha que usa dd e é
> muito
> útil para os programadores de bourne e korn Shell . Ela serve para ler
> caracter a caracter. O pessoal do Linux não precisa dela, o bash2
> incorpora
> uma opção no cmd read que faz este papel. Qual é mesmo esta opção
> Aurélio/Eliphas?
> 
> [ ]s a todos,
> Julio
> 
> getc ()
> {
> stty raw
> eval $1="`dd bs=1 count=1 2>/dev/null | tr '\015' '\012'`"
> stty cooked
> }
> 
> 
> -----Original Message-----
> From: # aurelio marinho jargas [mailto:address@hidden]
> Sent: Thursday, January 03, 2002 11:12 AM
> To:   address@hidden
> Subject:      Re: [shell-script] Arquivo em bash
> 
> @ 3/1, Eliphas Levy Theodoro:
> > > > > É o seguinte: como é que eu faço em bash para jogar a primeira
> letra
> da
> > > > > primeira linha de um arquivo texto em uma variável??
> > > > LETRA=`sed -n '1 s/^\(.\).*$/\1/p'`
> > > > Essa é simples, vou deixar quem não sabe fazer descobrir sozinho ':)
> > >   LETRA=`sed q ARQUIVO | cut -c1`
> >
> > Vou me vingar:
> > LETRA=`awk -F"\n" '{print substr($1,1,1);exit;}' ARQUIVO`
> 
> ah é, então tóma!
> 
>   LETRA=`dd if=ARQUIVO bs=1 count=1 2>&-`
> 
> hehehehehe
> 
> 
> -- 
> http://verde666.org s/click/^a]/;^[:wq
> 
> 
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script 
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html 
> 
> 
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script 
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html 
> 

From (no email address) Thu Jan 03 07:59:07 2002
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-8_0_1_3); 3 Jan 2002 15:59:07 -0000
Received: (qmail 49309 invoked from network); 3 Jan 2002 15:59:07 -0000
Received: from unknown (216.115.97.172)
  by m5.grp.snv.yahoo.com with QMQP; 3 Jan 2002 15:59:07 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156)
  by mta2.grp.snv.yahoo.com with SMTP; 3 Jan 2002 15:59:05 -0000
Received: from burns.conectiva (burns.conectiva [10.0.0.4])
        by perninha.conectiva.com.br (Postfix) with SMTP id 2097838C6F
        for <address@hidden>; Thu,  3 Jan 2002 12:59:01 -0300 (EST)
Received: (qmail 10012 invoked by uid 0); 3 Jan 2002 15:55:39 -0000
Received: from verde.conectiva (10.0.2.168)
  by burns.conectiva with SMTP; 3 Jan 2002 15:55:39 -0000
Date: Thu, 3 Jan 2002 14:00:07 -0200 (BRST)
X-X-Sender:  <verde@verde.conectiva>
To: <address@hidden>
Subject: 1001 maneiras de obter a primeira letra de um arquivo
In-Reply-To: <Pine.LNX.4.33L.0201031344550.3818-100000@verde.conectiva>
Message-ID: <Pine.LNX.4.33L.0201031354400.3818-100000@verde.conectiva>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=iso-8859-1
Content-Transfer-Encoding: 8BIT
From: # aurelio marinho jargas <address@hidden>
X-Yahoo-Group-Post: member; ug194321
X-Yahoo-Profile: verde6666

aí eliphas,

botei um em python, tasca o perl aí &:)


LETRA=`sed -n '1 s/^\(.\).*$/\1/p'`
LETRA=`sed q ARQUIVO | cut -c1`
LETRA=`awk -F"\n" '{print substr($1,1,1);exit;}' ARQUIVO`
LETRA=`dd if=ARQUIVO bs=1 count=1 2>&-`
LETRA=`python -c "f=open('ARQUIVO');t=f.read();print t[0]"`


read -n1 LETRA < ARQUIVO

getc() { stty raw; eval $1="`dd bs=1 count=1 2>/dev/null |
         tr '\015' '\012'`"; stty cooked ; }
LETRA=`getc < ARQUIVO`


--
http://verde666.org s/click/^a]/;^[:wq




reply via email to

[Prev in Thread] Current Thread [Next in Thread]