toscos do marciom e do netão
Pegando o primeiro e o ultimo nome de um arquivo e procurando no passwd
- arq=`cat d2.txt` ; for i in $arq; do v1=`echo $i |cut -d: -f1`;\
v2=`echo $i |rev |cut -d: -f1|rev`; \
v1v2=`grep -i "$v1.*$v2" /etc/passwd |awk -F: '{print $5":"$1}'`; \
echo "$i - $v1v2" >>desl2.txt; done

apagando arquivos com data definida:
- arq= `ls -la |grep -i "Out 27"|awk -F" " '{print $9}'`;\
for i in $arq; do echo $i ; rm - f $i ;done

descompactando varios arquivos de mensagens que deram false positive ao
mesmo tempo (nao se esqueca de mudar a pesquisa do grep)
- zgrep -i "Subject: Informativo.*187" ./*.gz|awk -F: '{print$1}'>\
arq.txt;arq= `cat arq.txt`;for i in $arq; do gunzip $i;done;rm -f arq.txt

o exemplo acima nao funciona para grandes quantidades de arquivos.
use esse:
- find ./ -maxdepth 1 -name "spam*.gz" -exec zgrep -H "Subject.*" {}\;\
>arq.txt;cat arq.txt |awk -F: '{print $1}' >arq2.txt;\
arq= `cat arq2.txt`;for i in $arq; do echo $i;gunzip $i;done;rm -f arq*.txt \

ou esse, se ja existir um arq com os subjects. a parada fica bem mais rapida:
- grep -i "Subject.*" ./zspam.txt|awk -F: '{print$1}'>arq.txt;\
arq=`cat arq.txt`;for i in $arq; do echo $i;gunzip $i;done;rm -f arq.txt

Procurando nos spams para ver se deu false positive para algum usuario
- find ./ -maxdepth 1 -name "spam*.gz" \
-exec zgrep -H "To: <user\@provedor.com.br>" {} \;\
>/tmp/zspam.txt

pegando estatisticas do mailstats
- ano= 2005;for i in 01 02 03 04 05 06 07 08 09 10 11 12; \
do head -n25 mailstats$ano$i*.log|grep"bytes delivered"|\
awk'BEGIN{s=0}{s+=$1}END{print s}';done; \
#mudar ano e string desejada;

esse corrige o problema da mudanca de Kb para Mb no pflogsum
- ano=2006;for i in 01 02 03 04 05 06 07 08 09 10 11 12; \
do head -n 25 mailstats$ano$i*.log | grep " bytes delivered" | \
awk 'BEGIN{s=0}{if(index($i, "m bytes")>0) {s=s+$1*1024} \
else s+=$1}END{print s}';done
- ano=2007;for i in 01 02 03 04 05 06 07 08 09 10 11 12; \
do head -n 15 mailstats$ano$i*.log| grep "discarded" | \
awk 'BEGIN{s=0}{if(index($i, "m bytes")>0){s=s+$1*1024} \
else s+=$1}END{print s}';done

matando processos defuntos do passwd ou qq outro processo, ou nao!?
- processinho=`ps ax|grep -i "\[passwd\] <defunct>"|cut -c1-5`;\
for i in $processinho; do processao=`ps -f $i|tail -1|cut -c16-20`;\
echo "$i - $processao"; kill -9 $processao;done

excluindo varias listinhas no mailman ao mesmo tempo
CUIDADO vc podera esta excluindo tbm seu emprego!!!!!
- arq=`cat ~usuario/tmp/listas-excluir.txt`; for i in $arq; \
do /usr/local/mailman/bin/rmlist -a $i; done;

renomeando arquivo
- find ./ -iname "*.txt" -exec sh -c 'nome={}; echo $nome; \
mv $nome x${nome/.*\/}' \;

fazendo substituicoes a lot!!!!!
- find . | xargs perl -p -i.old -e 's/string_velha/string_nova/g'

pegando usuarios com area web
- usersremovidos=`ls <path>* |cut -d"/" -f6 | sed s/"2006"/:$/g |\
cut -d: -f1|uniq`;arq=`cat userscomsite20061016.txt |\
cut -d: -f1`;for i in $arq;do \
echo $usersremovidos |sed s/" "/\\n/g |grep ^$i$;done

pegando e contando ocorrencias de algo em arquivos de log
- conta= 0;for((i=5;i<=29;i++)); \
do valor=`zgrep -c "to=<info@provedor.com.br.*/usr/bin/procmail" maillog.$i`; \
let conta=$conta+$valor;done;echo "conta="$conta

formatando um arquivo com CPF e pegando apenas os seis primeiros digitos
- cat 200701_arquivo_com_cpf.csv|\
awk -F: '{print $1":"$2":"substr($3,0,length($3)-8)}'|\
awk -F. '{print $1$2}'
- formato: matricula:nome:cpf

verificando quantidade de acesso unicos de um determinado sitio de web de user
- zcat /pefe_do_apache/logs/access_log.*.gz |\
grep "/conta_web"|grep -i -vE "GIF|JPG|CSS|HTML|HTM|PDF|PROPFIND" |\
cut -d"]" -f1|uniq|wc -l

gerando relatorio de entrega de mensagens para uma dada lista
- pefe="/home/algumacoisa/outraalgumacoisa/tmp";data= `date+%Y%m%d`;\
:>$pefe/$data.relatorio_entrega_mgs.txt;export IFS=$'\n'; \
listaid=`cat/var/log/maillog.1|grep"<id_da_mensagem>"|grep queued_as`; \
for i in $listaid; do outravar= `echo $i |rev|cut -d, -f2|cut -d: -f1|rev`; \
echo$i>>$pefe/$data.relatorio_entrega_mgs.txt;echo $outravar;\
grep -E "$outravar.*mx01|$outravar.*local" /var/log/maillog.1 \
>>$pefe/$data.relatorio_entrega_mgs.txt; done
PUCSP Home Page Núcleo de Computação Científica da PUCSP Marcio's Homepage
Valid HTML 4.01!
Valid CSS!