Enviado em 23/09/2011 - 19:27h
Pessoal, estou trabalhando num script que deve-se extrair elementos de um arquivo xml e inseri-lo numa variavel, preferencialmente num array, mas ainda estou em dúvida se uso array ou nao.Enviado em 23/09/2011 - 19:29h
segue o arquivo:<?xml version='1.0' encoding='ISO-8859-1' ?> <!DOCTYPE DEFCAL SYSTEM "defcal.dtd"> <DEFCAL > <CALENDAR DATACENTER="database-des" NAME="ATIVOS" TYPE="Regular"> <YEAR DAYS="YYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYNYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNNYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNNYYYYNNYYYYYNNYYYYYNNNYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYNNNNYYYN" DESCRIPTION="Seg a Sex - Feriado: setar o dia" NAME="2009"/> <YEAR DAYS="NNNYYYYYNNYYYYYNNYYYYYNNNYYYYNNYYYYYNNYYYYYNNNNYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYNNNYYYYYNNYYYYYNNYYNYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYNYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYNNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYNYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYNYYYNNYYYYYNNYYYYYNNYNYYYNNYYYYYNNNYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYN" DESCRIPTION="Seg a Sex - Feriado: setar o dia" NAME="2010"/> <YEAR DAYS="NNYYYYYNNYYYYYNNYYYYYNNYNYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNNNYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYNNNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYNYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYNYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYNYYNNYYYYYNNYYYYYNNYYNYYNNYYYYYNNYNYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYYNNYYYYNN" DESCRIPTION="Seg a Sex - Feriado: setar o dia" NAME="2011"/> </CALENDAR> </DEFCAL>
Enviado em 26/09/2011 - 12:50h
uma forma ... fiz meio corrido e por isso só testei no DebianEnviado em 10/10/2011 - 20:50h
Pessoal, só consegui voltar a este script agora..2010: Y Y Y N 362-363-364-365 2011: N N Y Y 1 - 2 - 3 - 4
#!/bin/bash CONT=1 CONT_UTIL=0 FILE="year_day.xml" echo "Digite o dia: " read dia echo "Digite o ano: " read ano if [ -z $dia ] || [ -z $ano ]; then echo "DIA e ANO devem ser digitados" exit 1 fi ANO_SEGUINTE() { ano=$1 dia=1 grep $ano $FILE &> /dev/null if [ $? -ne 0 ]; then echo "Nao existe o ano $ano no arquivo $FILE" exit 1 fi while [ $CONT_UTIL -ne 4 ] do FILT=`cat $FILE | sed 's/</\n/'g | grep $ano | cut -d"\"" -f2 | cut -c $dia` if [ `echo $FILT` == Y ]; then # dia util, indo para o proximo dia dia=`expr $dia + 1` CONT_UTIL=`expr $CONT_UTIL + 1` let CONT++ elif [ `echo $FILT` == N ]; then dia=`expr $dia + 1` let CONT++ fi done let CONT-- echo "Foi para o ano seguinte: $ano." echo "Sao $CONT dias apos o dia informado" exit 0 } FIRST() { let dia++ while [ $CONT_UTIL -ne 4 ] do FILT=`cat $FILE | sed 's/</\n/'g | grep $ano | cut -d"\"" -f2 | cut -c $dia` if [ `echo $FILT ` == Y ] 2> /dev/null; then # dia util, indo para o proximo dia dia=`expr $dia + 1` CONT_UTIL=`expr $CONT_UTIL + 1` let CONT++ elif [ `echo $FILT ` == N ] 2> /dev/null; then dia=`expr $dia + 1` let CONT++ else ano=`expr $ano + 1` ANO_SEGUINTE "$ano" fi done let CONT-- echo "O quarto dia util eh `echo $FILT`" echo "Sao $CONT dias apos o dia informado" exit 0 } FIRST
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Interface Gráfica no Linux Mint 22.1. (4)
Ubuntu 25.04 não instala. (11)