![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Läsa filer I | Pablo_beezo | Sun Solaris | 1 | 06-12-2008 11:21 |
| Läsa filer | OOP | UNIX for Dummies Frågor & Svar | 3 | 07-31-2007 08:40 |
| behandlingen. bin filer | eastcoast_uix | UNIX for Dummies Frågor & Svar | 1 | 06-26-2007 02:43 |
| behandlingen gz filer | arushunter | Shell-programmering och Skript | 2 | 02-16-2007 06:29 |
| Läsa *. chm-filer? | riwa | UNIX for Dummies Frågor & Svar | 3 | 04-02-2006 10:30 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
HJÄLP! Problem med att läsa i filer
HI, Jag har skrivit ett script som läser i en fil som har en lista med filer i den. Skriptet sedan sökningar katalogen för dessa filer och då konstaterades att produktion till ett e-postmeddelande med en layout tabellen ange datumet för filen och en ok, om filen \u003d dagens datum om det inte ett väntat visas. (det är för att visa mottagaren att de behöver jaga för att vänta filer). två av filerna är dagens datum - jkl.csv och stu.txt resten antingen är tom eller inte dagens datum. Problemet jag har är att jag inte kan få vänta / ok att arbeta. Skriptet nedan matar alla filer till varning när det i själva verket alla bör varning utom jkl.csv och stu.txt??? skriptet: #! / bin / ksh ########### # VARIABLERNA # ########### RUNREF \u003d "datum +% Y% m% d` FILE_LIST \u003d"../ parms / files.txt " Ämne \u003d "xxx File Check" EMAIL \u003d "cdmspb" MAIL_FROM \u003d "xxx" LOG_DIRECTORY \u003d"../ loggar " MSG_DEST \u003d "$ (LOG_DIRECTORY) / $ (RUNREF) _build.log" argv0 \u003d "basename $ 0" fsz \u003d 47 ul \u003d"----------------------------------------------- " ck \u003d "+" cs \u003d "|" ########### # FUNKTIONER # ########### writelogf () ( Om [$ #-gt 9] sedan printf "Kunde inte generera begärt fel linje \ n" exit 1 fi args \u003d $ # fallet $ args i 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 fallet $ args i 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 "datum +"% H:% M:% S "" ts_date \u003d "datum +"% B% d% Y "" ) start_msg () ( get_time_stamp writelogf "\ n $ MSG sökning inledas på $ ts_time på $ ts_date \ n \ n" ) end_msg () ( get_time_stamp writelogf "\ n $ MSG sökning fyllas på $ ts_time på $ ts_date \ n" ) email_user () ( post-t "$ 1" <<EOF Ämne: $ 3 Från: $ 2 $ 4 $ 5 EOF ) ############# # HUVUDSAKLIGA SCRIPT # ############# Status \u003d "OK" MSG \u003d "Väntar på xxx filer" start_msg $ STEG $ 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 "" FILE "" DATE "" status " writelogf "$ argv0 :|%-${ fsz). $ (fsz) s $ (ck }%-${ fsz). $ (fsz) s $ (ck }%-${ fsz) s | \ n" $ ul $ ul $ ul samtidigt läsa FILE göra file_date \u003d `ls-l $ FILE | nawk 'BEGIN (FS \u003d" ") (printf"% s% s \ n ", $ 6, $ 7)'` MONTH \u003d "datum +"% b "| cut-d" "-f1" DAG \u003d "datum +"% e "| nawk '(printf"% d \ n ", $ 0)'" todays_date \u003d "$ MÅNAD $ dag" om [[( "$ FILE" \u003d\u003d "") | | (!-r $ FILE) | | ($ file_date! \u003d $ todays_date)]] sedan Status \u003d "Väntar" fi # echo "file [$ FILE] [$ STATUS]" writelogf "$ argv0 :|%-${ fsz). $ (fsz) s $ (cs }%-${ fsz) s $ (cs }%-${ fsz) s $ (cs) \ n" $ file " $ file_date "$ STATUS gjort <$ FILE_LIST writelogf "$ argv0 :+%-${ fsz). $ (fsz) s-% - $ (fsz). $ (fsz) s-% - $ (fsz). $ (fsz) s + \ n" $ ul $ ul $ ul end_msg $ STEG $ MSG # e alla användare mailx-r $ MAIL_FROM-s "xxxx File Check" $ EMAIL <$ MSG_DEST rm $ MSG_DEST utgångsenergi email nedan: Kod:
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 Senast redigerad av Yogesh Sawant; 06-23-2008 vid 08:22.. Orsak: lagt till kod taggar |