![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Awk-Skript in DOS und Linux verhält sich anders: ( | vidyak | Windows und DOS: Fragen und Diskussionen | 2 | 04-01-2009 12:07 PM |
| "$ Variable" Verhalten ist nicht als String in meinem Skript | yabhi_22 | UNIX for Dummies Questions & Answers | 3 | 02-06-2009 01:20 PM |
| Script verhält sich anders auf zwei Servern | mhssatya | UNIX für Fortgeschrittene und Experten | 5 | 09-13-2006 03:28 PM |
| Script verhält sich anders in Crontab .. | newtoxinu | Shell Programmierung und Scripting | 4 | 10-01-2004 02:22 PM |
| Script verhält sich anders in Crontab .. | newtoxinu | UNIX für Fortgeschrittene und Experten | 1 | 09-30-2004 05:00 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
Guys Ich habe seltsame Verhalten mit dem Befehl ausgegeben werden gespeichert in einer Variable einer tmp-Datei.
1. I suck Befehl Ausgabe in eine Variable Probe-Befehl ausgegeben Code:
# cleanstats DRIVE INFO: ---------- Drv Type Mount Time Frequency Last Cleaned Comment *** **** ********** ********* **************** ******* 0 hcart3* 51.9 0 N/A 1 hcart3* 55.9 0 N/A 2 dlt* 0.8 0 N/A 3 dlt* 0.0 0 N/A 4 dlt* 0.2 0 N/A 5 dlt* 0.0 0 N/A MEDIA INFO: ---------- media media robot robot robot side/ optical # mounts/ last ID type type # slot face partner cleanings mount time ------------------------------------------------------------------------------- CLN206 DLT_CL NONE - - - - 0 12/26/2001 08:22 CLN207 DLT_CL NONE - - - - 0 03/10/2002 10:00 CLN205 DLT_CL NONE - - - - 0 08/18/2002 06:40 CLN703 DLT_CL NONE - - - - 0 03/29/2003 05:11 CLN701 DLT_CL NONE - - - - 20 00/00/0000 00:00 CLN635 DLT_CL NONE - - - - 0 11/21/2003 04:32 CLN219 DLT_CL NONE - - - - 0 07/13/2004 06:25 CLN636 DLT_CL NONE - - - - 14 01/22/2006 08:15 CLN211 DLT_CL TLD 1 21 - - 12 10/31/2008 22:44 CLN209 DLT_CL NONE - - - - 0 12/13/2006 22:13 CLN210 DLT_CL NONE - - - - 0 10/19/2008 06:31 3. Ich habe dann drucken, dass die Variable auf ein awk-Anweisung in einem Test-und wenn es nicht funktioniert, wie es sollte. 4. Wenn die Ausgabe ist gefangen in einer temporären und den gleichen awk-Anweisung wird benutzt, sondern die Beiträge der tmpfile dann funktioniert es. Das folgende Code zeigt eine Möglichkeit, die nicht funktioniert und eine, die funktioniert. Kann jeder jede Schuppen Licht, warum? Ich bin natürlich versucht, Variablen anstelle der von tmpfiles überall. Ich kann nicht verstehen, weil der Druck für die Debug-Anweisung zeigt die Ausgabe wie erwartet. Code:
#!/bin/ksh
....script contents, variable assignment blah blah....
# Suck clean stats to variable
CSTAT=$(cleanstats)
# Or put in tmpfile
cleanstats > ${TMPFILE}
print "CSTAT contains [${CSTAT}]" #DBG
# Check tape exists in library with free cleanings
# If tape is in unit but with no cleanings OR
# If tape is NOT in unit (TLD), the string returned is empty thus matching -z test
# (section 1)
if [[ -z "$( print ${CSTAT} | nawk '$3 == "TLD" && $8 != "0" {print}' )" ]];then
.... do stuff ....
fi
# Above doesnt work, but below does
# (section 2)
#if [[ -z "$( nawk '$3 == "TLD" && $8 != "0" {print}' < ${TMPFILE} )" ]];then
# .... do stuff ...
#fi
Wer Aufschluss über sie? IFS ist als Zeilenumbruch als Standard. Prost Zuletzt bearbeitet von lavascript; am 04-22-2009 10:23 AM.. |
|
||||
|
Seltsamerweise nur Einstellung von IFS auf nichts zu haben scheint es festgesetzt.
Ich bin nicht ganz sicher, warum, aber es würde gesammelt rund um den Bereich separator. Ich habe versucht dabei: -- Code:
oldIFS=$IFS IFS="\n\r" if [ ....blah IFS=$oldIFS Durch Versuch und Irrtum gefunden i Einstellung Code:
IFS="" Wer weiß warum? Prost |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|