The UNIX and Linux Forums  
Olá e boas-vindas de Estados Unidos para o UNIX e Linux Forum! Obrigado por visitar e fazer parte da nossa comunidade global.

Go Back   O UNIX e Linux Forum > Top Fóruns > Programação Shell Script e
.
google unix.com



Programação Shell Script e Post perguntas sobre ksh, CSH, SH, BASH, Perl, PHP, SED, Awk e outros scripts shell e shell scripts línguas aqui.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Lendo Arquivos No Pablo_beezo Sun Solaris 1 06-12-2008 10:21
Arquivos Leitura OOP UNIX para Dummies Perguntas & Respostas 3 07-31-2007 07:40
leitura. bin eastcoast_uix UNIX para Dummies Perguntas & Respostas 1 06-26-2007 01:43
leitura gz arquivos arushunter Programação Shell Script e 2 02-16-2007 06:29
Leitura *. chm? riwa UNIX para Dummies Perguntas & Respostas 3 04-02-2006 09:30

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 06-23-2008
Pablo_beezo Pablo_beezo is offline
Usuário
  
 

Join Date: Apr 2008
Lugares: 85
HELP! Problema ao ler em arquivos

HI,

Eu escrevi um roteiro que se lê em um arquivo que tem uma lista de arquivos dentro dela.

O script então pesquisar o diretório destes arquivos e quando vai encontrar uma saída para e-mail com uma mesa com a indicação da data do arquivo e um status ok, se o arquivo \u003d todays data não se espera um aparece. (é para mostrar que o destinatário de que necessitam para caçar para os ficheiros em espera).

dois dos arquivos são todays data - jkl.csv e stu.txt o resto são quer em branco ou não todays data.

O problema que tenho é que eu não posso ficar esperando o / ok para trabalhar. O script abaixo é saída para todos os ficheiros de aviso quando, na realidade, todos devem estar alerta excepto jkl.csv e stu.txt?

script é:

#! / bin / ksh

###########
# # VARIÁVEIS
###########

RUNREF \u003d `date +% Y% m% d`
FILE_LIST \u003d"../ parms / files.txt "
Subject \u003d "xxx File Check"
EMAIL \u003d "cdmspb"
MAIL_FROM \u003d "xxx"
LOG_DIRECTORY \u003d"../ logs "
MSG_DEST \u003d "$ (LOG_DIRECTORY) / $ (RUNREF) _build.log"
argv0 \u003d `basename $ 0`
fsz \u003d 47
ul \u003d"----------------------------------------------- "
ck \u003d "+"
cs \u003d "|"

###########
# # FUNÇÕES
###########

writelogf ()
(
if [$ #-gt 9]
então
printf "Não é possível gerar solicitado erro linha \ n"
saída 1
fi

args \u003d $ #

no caso $ args
1) printf "$ 1"> &2;;
2) printf "$ 1" "$ 2"> &2;;
3) printf "$ 1" "$ 2" "$ 3"> &2;;
4) printf "$ 1" "$ 2" "$ 3" "$ 4"> &2;;
5) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5"> &2;;
6) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6"> &2;;
7) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6" "$ 7"> &2;;
8) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6" "$ 7" "$ 8"> &2;;
9) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6" "$ 7" "$ 8" "$ 9"> &2;;
esac

no caso $ args
1) printf "$ 1">> $ MSG_DEST;
2) printf "$ 1" "$ 2">> $ MSG_DEST;
3) printf "$ 1" "$ 2" "$ 3">> $ MSG_DEST;
4) printf "$ 1" "$ 2" "$ 3" "$ 4">> $ MSG_DEST;
5) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5">> $ MSG_DEST;
6) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6">> $ MSG_DEST;
7) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6" "$ 7">> $ MSG_DEST;
8) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6" "$ 7" "$ 8">> $ MSG_DEST;
9) printf "$ 1" "$ 2" "$ 3" "$ 4" "$ 5" "$ 6" "$ 7" "$ 8" "$ 9">> $ MSG_DEST;
esac

)

get_time_stamp ()
(
ts_time \u003d `date +"% H:% M:% S "`
ts_date \u003d `date +"% B% d% Y "`
)

start_msg ()
(
get_time_stamp
writelogf "\ n $ MSG pesquisa iniciado em $ $ ts_time sobre ts_date \ n \ n"
)

end_msg ()
(
get_time_stamp
writelogf "\ n $ MSG pesquisa concluída em $ $ ts_time sobre ts_date \ n"
)


email_user ()
(
# E-mail
mail-t "$ 1" <<EOF
Assunto: $ 3
From: $ 2
$ 4
$ 5
EOF
)


#############
SCRIPT PRINCIPAL # #
#############

Situação \u003d "OK"

MSG \u003d "Esperando xxx files"
PASSO start_msg $ $ MSG

writelogf "$ argv0 :+%-${ fsz). fsz) ($ s-% - fsz $ (). fsz) ($ s-% - fsz $ (). fsz $ (+) s \ n" ul $ $ ul $ ul
writelogf "$ argv0 :|%-${ fsz). fsz $ (s) $ (cs }%-${ fsz). fsz $ (s) $ (cs }%-${ fsz). fsz $ (s) $ (CS) \ n "" arquivo "" DATA "" status "
writelogf "$ argv0 :|%-${ fsz). fsz $ (s) $ (ck }%-${ fsz). fsz $ (s) $ (ck }%-${ fsz) s | \ n" $ $ $ ul ul ul

enquanto lê FILE
fazer
file_date \u003d `ls-l $ FILE | nawk 'BEGIN (FS \u003d" ") (printf"% s% s \ n ", $ 6, $ 7)'`

MONTH \u003d `date +"% b "| cut-d" "-f1`
DIA \u003d `date +"% e "| nawk '(printf"% d \ n ", $ 0)'`
todays_date \u003d "$ $ MÊS DIA"

if [[( "$ FILE" \u003d\u003d "") | | (!-r $ FILE) | | ($ file_date! \u003d $ todays_date)]]
então
Situação \u003d "ESPERA"
fi
# echo "arquivo [$ FILE] [$ status]"

writelogf "$ argv0 :|%-${ fsz). fsz $ (s) $ (cs }%-${ fsz) s $ (cs }%-${ fsz) (CS) $ s \ n" $ FILE " $ file_date "$ STATUS

feito <$ FILE_LIST

writelogf "$ argv0 :+%-${ fsz). fsz) ($ s-% - fsz $ (). fsz) ($ s-% - fsz $ (). fsz $ (+) s \ n" ul $ $ ul $ ul

PASSO end_msg $ $ MSG

# e-mail todos os usuários
mailx-R $ MAIL_FROM-s "xxxx File Check" $ EMAIL <$ MSG_DEST

rm $ MSG_DEST



saída e-mail está abaixo:

Código:
Waiting for xxxx files search initiated at 10:55:40 on June 23 2008

test3.sh:+-----------------------------------------------------------------------------------------------------------------------------------------------+
test3.sh:|FILE                                           |DATE                                           |STATUS                                         |
test3.sh:|-----------------------------------------------+-----------------------------------------------+-----------------------------------------------|
test3.sh:|/abc.txt  |Jun 19                                         |WAITING                                        |
test3.sh:|/def.out  |Jun 19                                         |WAITING                                        |
test3.sh:|/ghi.dat  |Jun 19                                         |WAITING                                        |
test3.sh:|/jkl.csv  |Jun 23                                         |WAITING                                        |
test3.sh:|/mno.txt  |Jun 11                                         |WAITING                                        |
test3.sh:|/pqr.dat  |Jun 11                                         |WAITING                                        |
test3.sh:|/data/stu.txt  |Jun 23                                         |WAITING                                        |
test3.sh:|/vw.dat   |                                               |WAITING                                        |
test3.sh:|/xy.dat   |                                               |WAITING                                        |
test3.sh:|/z11.dat  |                                               |WAITING                                        |
test3.sh:+-----------------------------------------------------------------------------------------------------------------------------------------------+

Waiting for xxxxx files search completed at 10:55:41 on June 23 2008

Última edição por Yogesh Sawant; em 06/23/2008 07:22.. Motivo: adicionado código tags
 

Marcadores

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 01:48.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0