Eine Zeile einer Variblen Auslesen in Unix script ( Hilfe :'( )
-
Hallo ich hab volgendes
#! /bin/sh ReplaceAndSplit() { if [ $# -eq 1 ] then tr ' :.,;()"' '\n\n\n\n\n\n\n\n' < $1 | grep -v '^$' else echo \ \!\!\!FATAL ERROR\!\!\!. exit 1 fi }
Und das speichere ich jetzt in einer variable
WordsLibrary=`ReplaceAndSplit $1`
Und jetzt hab ich ne funktion die eine zeile ausgibt.
GetLine() { # echo "$3" # if [ $# -ne 2 ] # then # echo \ # \!\!\!FATAL ERROR\!\!\!. \ # exit 3 # fi i= $1 i=`expr $1 + 1` sed -ne "$i p" < $2 }
Aber wenn ich dan das mache
WordPattern=`GetLine $LineCounter $WordsLibrary`
Bekomme ich fehler das es keine datei gibt
Alles zusammen
electra:/home/users/std02179/Shell_Progs>clear electra:/home/users/std02179/Shell_Progs>cat cntwrds #! /bin/sh ReplaceAndSplit() { if [ $# -eq 1 ] then tr ' :.,;()"' '\n\n\n\n\n\n\n\n' < $1 | grep -v '^$' else echo \ \!\!\!FATAL ERROR\!\!\!. \ La8os eisodo dedomenon.\\n exit 1 fi } GetLines() { i=$1 while [ ! -r $3 ] do if [ $# -ne 3 ] then echo \ \!\!\!Fatal Error\!\!\!. \ La8os eisodos dedomenon.\\n exit 2 else i=`expr $i + 1` sed -ne "$i p" < $3 fi done } GetLine() { # echo "$3" # if [ $# -ne 2 ] # then # echo \ # \!\!\!FATAL ERROR\!\!\!. \ # La8os eisodos dedomenon good bye Mr.Bond.\\n # exit 3 # fi i= $1 i=`expr $1 + 1` sed -ne "$i p" < $2 } Add1() { if [ $# -ne 1 ] then echo \ \!\!\!Fatal Error\!\!\!. \ La8os eisodos dedomenon to programma termatizei.\\n exit 4 else expr $1 + 1 fi } ##Main WordsLibary="" LineCounter=0 WordCounter=0 WordPattern="" #Kurio Meros WordsLibrary=`ReplaceAndSplit $1` WordPattern=`GetLine $LineCounter '$WordsLibrary'` echo "$WordPattern" #for #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!# #do # NewWord=`GetLine $LineCounter $3` # if [ NewWord = WordPattern ] # then # WordCounter=`Add1 $WordCounter` # else # echo "$NewWord / $WordCounter" # WordConter=0 # WordPattern=`GetLine Add1 $LineCounter $WordsLibary` # fi # LineCounter=`Add1 $LineCounter` #done electra:/home/users/std02179/Shell_Progs>
Weis einer rad
Ich will so was machen wen ich z.b. ne wariable hab mit wert
WordsLibrary =
Wort1
Wort2
Wort3
Wort4
Wort5
Wort6
Wort7Und ich dan z.b das eingebe
WordPattern=`GetLine 3 '$WordsLibrary'`
echo WordPattern
ich das bekome
Wort2aber funktioniert nicht irgentwie