rique1me
Goto Top

Shellskript von Ubuntu in Solaris 10 umschreiben.

Hallo,
ich bräuchte mal Hilfe.
Ich habe ein Shellskript mit Ubuntu geschrieben. Nun soll das Skript aber unter Solaris laufen.
Da ich doch nur sehr wenig Kenntnisse in Shellskripting habe. Wollte ich mal fragen, ob es möglich ist, dass jemand mit mehr Kenntnissen
mir mein Skript für Solaris 10 umzuschreiben. Wäre echt Klasse. Wo ich bei Solaris Schwierigkeiten bekomme ist mit dem "date-befehl"

mfg rique1me

egrep "(IN|OUT)" matlab.txt >> name.txt  

cat name.txt | while read LINE; do 
	ZEIT=`echo $LINE | awk '{print $1}'`  
	STATUS=`echo $LINE | awk '{print $2}'`  
	NAME=`echo $LINE | awk '{print $3}'`  
	touch /Ordner/$NAME.txt
	
done

DATUM=11/30/2008

#####Liste der Namen erstellen#####
ls /Ordner/ | awk -F"." '{print $1}' >> /Ordner/name.txt  


cat matlab.txt | while read LINE; do
	ZEIT=`echo $LINE | awk '{print $1}'`  
	STATUS=`echo $LINE | awk '{print $2}'`  
	WERT=`echo $LINE | awk '{print $3}'`  
	if [ $STATUS = "TIMESTAMP" ] ;  
	then 	
		DATUM=$WERT
	else
		echo $DATUM $ZEIT $STATUS >> /Ordner/$WERT.txt
			
	fi

done

cat /Ordner/name.txt | while read LINE; do
	NAME=$LINE
	TIMEROUT=0
	TIMERIN=0
	COUNTOUT=0
	COUNTIN=0
		while read LINE; do
			STATUS=`echo $LINE | awk '{print $3}'`  
			TIME=`echo $LINE | awk '{print $2}'`  
			DAY=`echo $LINE | awk -F"[ /]" '{print $2}'`  
			MONTH=`echo $LINE | awk -F"[ /]" '{print $1}'`  
			YEAR=`echo $LINE | awk -F"[ /]" '{print $3}'`  
			DATE=$YEAR-$MONTH-$DAY
			if [ $STATUS = "OUT" ] ;  
			then	
				COUNTOUT=$(($COUNTOUT+1))
				TIMEROUT=$((`date -d "$DATE $TIME" +%s`+$TIMEROUT))  
			else
				COUTIN=$(($COUNTIN+1))
				TIMERIN=$((`date -d "$DATE $TIME" +%s`+$TIMERIN))  
			fi
		done </Ordner/$NAME.txt

	TIMER=$(($TIMERIN-$TIMEROUT))
	ZEIT=$((TIMER/3600))
	echo $NAME OUTS:$COUNTOUT INS:$COUTIN ZEIT:$ZEIT Stunde/n >> status.txt
	echo ---------------------------------------------- >> status.txt	
done

Content-Key: 123441

Url: https://administrator.de/contentid/123441

Printed on: April 26, 2024 at 01:04 o'clock

Member: Korrn
Korrn Aug 26, 2009 at 09:54:34 (UTC)
Goto Top
Unter Ubuntu ist die Standard-Shel doch Bash, oder? Füg einfach die Zeile "#!/bin/bash" (ohne Anführungszeichen) als erste Zeile hinzu.
Sofern Dir unter Solaris auch die Bash-Shaell zur Verfügung steht, sollte das dort skript laufen.
Member: rique1me
rique1me Aug 26, 2009 at 09:56:59 (UTC)
Goto Top
ja hab ich ja auch gemacht aber der kommt schon nicht mit den "date"-befehl klar
der kennt irgendwie das -d nicht.