[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] 1001 maneiras de obter a primeira letra de um arquivo
From: |
Eliphas Levy Theodoro |
Subject: |
Re: [shell-script] 1001 maneiras de obter a primeira letra de um arquivo |
Date: |
Thu, 3 Jan 2002 14:52:21 -0200 (BRST) |
# aurelio marinho jargas, @ 14:00:
> 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`
---<>---
Em perl é basicamente igual o awk:
LETRA=`perl -ne 'print substr($_,0,1);exit;' ARQUIVO`
ei, esse do python ficou muito grande Kra!!! Deixa aquele outro simples:
LETRA=`python -c "print open('ARQUIVO').read(1)"`
Dá pra fazer em uma linha com o ed? ':)
--
Eliphas
Anyone sending unsolicited bulk email (UBE, SPAM) to this address will
be charged a $25 handling fee plus a $5 network traffic fee per
started kilobyte. By extracting my address from this message or its
header, you agree to these terms.
Nevertheless, spammers trying to auto-extract addresses from this
message will definitely want to include address@hidden, address@hidden,
and address@hidden
From (no email address) Thu Jan 03 09:42:03 2002
Return-Path: <address@hidden>
X-Sender: address@hidden
X-Apparently-To: address@hidden
Received: (EGP: mail-8_0_1_3); 3 Jan 2002 17:42:02 -0000
Received: (qmail 16361 invoked from network); 3 Jan 2002 17:42:02 -0000
Received: from unknown (216.115.97.171)
by m9.grp.snv.yahoo.com with QMQP; 3 Jan 2002 17:42:02 -0000
Received: from unknown (HELO perninha.conectiva.com.br) (200.250.58.156)
by mta3.grp.snv.yahoo.com with SMTP; 3 Jan 2002 17:42:01 -0000
Received: from burns.conectiva (burns.conectiva [10.0.0.4])
by perninha.conectiva.com.br (Postfix) with SMTP id 2D9B938C50
for <address@hidden>; Thu, 3 Jan 2002 14:41:57 -0300 (EST)
Received: (qmail 23966 invoked by uid 0); 3 Jan 2002 17:38:35 -0000
Received: from verde.conectiva (10.0.2.168)
by burns.conectiva with SMTP; 3 Jan 2002 17:38:35 -0000
Date: Thu, 3 Jan 2002 15:43:02 -0200 (BRST)
X-X-Sender: <verde@verde.conectiva>
To: <address@hidden>
Subject: Re: [shell-script] 1001 maneiras de obter a primeira letra de um
arquivo
In-Reply-To: <Pine.LNX.4.43L.0201031429240.6150-100000@elisangela.intranet>
Message-ID: <Pine.LNX.4.33L.0201031537270.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; u=67194321
X-Yahoo-Profile: verde6666
ed Kra!!!
@ 3/1, Eliphas Levy Theodoro:
> 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 "print open('ARQUIVO').read(1)"`
> LETRA=`perl -ne 'print substr($_,0,1);exit;' ARQUIVO`
>
> 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`
> Dá pra fazer em uma linha com o ed? ':)
dá!!!
LETRA=`echo '1s/^\(.\).*/\1' | ed -s ARQUIVO`
(ao não especificar a barra que fecha o s/// ele dá print
automático, maaaaassa)
por falar nisso, sempre tive vontade de ver uma página de
programação que fosse dividida por tarefas e tivessem exemplos de
como resolvê-la, em várias linguagens de programação.
isso é exatamente o que estamos fazendo aqui.
TAREFA: pegar a 1ª letra de um arquivo
COMOFAZER: ...
alguém já viu algum saite assim?
se não tiver um, vamos fazer?
tipo, uma central definitiva de trechos de código do tipo
"como faço para..."
o que acham?
--
http://verde666.org s/click/^a]/;^[:wq
- Re: [shell-script] 1001 maneiras de obter a primeira letra de um arquivo,
Eliphas Levy Theodoro <=