🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #1405

Como simplifico este script bash...

#1405
From: Horacio Castellini
Date: Mon, 05 Dec 2005 13:54
57 lines
2899 bytes
Holas como simplifico este script bash... es decir como anido los 
for...que no me doy cuenta... El bash tiene funciones para procesar cadenas?

==================================================================
#!/bin/sh
i=1
for ano in 2003 2004 2005
do
for mes in January February March April 
do
        zcat $ano-$mes.txt.gz 1>/dev/null 2>/dev/null
        if [ $? != 0 ]; then
                echo "No existe $ano-$mes.txt.gz"
        else
                echo "Procesando $mes $ano"
                zcat $ano-$mes.txt.gz|egrep '^(From: .*[^<].*|Subject:.*)' >t.dat
                cat t.dat|perl -w filtro.pl >> $i.dat
                echo $i
        fi
done
cat $i.dat|./op_matriz >ad.$i.dat
i=`expr $i + 1`
echo "--------------"
for mes in February March April May 
do
        zcat $ano-$mes.txt.gz 1>/dev/null 2>/dev/null
        if [ $? != 0 ]; then
                echo "No existe $ano-$mes.txt.gz"
        else
                echo "Procesando $mes $ano"
                zcat $ano-$mes.txt.gz|egrep '^(From: .*[^<].*|Subject:.*)' >t.dat
                cat t.dat|perl -w filtro.pl >> $i.dat
                echo $i
        fi
done
cat $i.dat|./op_matriz >ad.$i.dat
i=`expr $i + 1`
echo "--------------"
for mes in March April May June 
do
        zcat $ano-$mes.txt.gz 1>/dev/null 2>/dev/null
        if [ $? != 0 ]; then
                echo "No existe $ano-$mes.txt.gz"
        else
                echo "Procesando $mes $ano"
                zcat $ano-$mes.txt.gz|egrep '^(From: .*[^<].*|Subject:.*)' >t.dat
                cat t.dat|perl -w filtro.pl >> $i.dat
                echo $i
        fi
done
cat $i.dat|./op_matriz >ad.$i.dat
i=`expr $i + 1`
echo "--------------"
etc... etc....
========================================================

Saludos Horacio....
Technical Details
Message-ID: <dn1h0r$496$1@helvete.escomposlinux.org>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.kamp.net!news.musoftware.de!news-15.escomposlinux.org!tramontana.escomposlinux.org!helvete.escomposlinux.org!escomposlinux.org!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,a548bca6772dfe91,start
X-Google-Attributes: gidf86c8,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!border1.nntp.dca.giganews.com!nntp.giganews.com!nx02.iad01.newshosting.com!newshosting.com!newsfeed.kamp.net!news.musoftware.de!news-15.escomposlinux.org!tramontana.escomposlinux.org!helvete.escomposlinux.org!escomposlinux.org!not-for-mail
From: Horacio Castellini <hcaste@fonosur.com.ar>
Newsgroups: es.comp.os.linux.programacion
Subject: Como simplifico este script bash...
Date: Mon, 05 Dec 2005 10:54:48 -0300
Organization: Chaos Company
Lines: 57
Message-ID: <dn1h0r$496$1@helvete.escomposlinux.org>
NNTP-Posting-Host: host167.200-43-39.telecom.net.ar
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7Bit
X-Trace: helvete.escomposlinux.org 1133791068 4390 200.43.39.167 (5 Dec 2005 13:57:48 GMT)
X-Complaints-To: newsmaster@helvete.escomposlinux.org
NNTP-Posting-Date: Mon, 5 Dec 2005 13:57:48 +0000 (UTC)
User-Agent: KNode/0.7.7