בעיה בסקריפט
דרג את ההודעה: הסקריפט הזה: #!/usr/bin/ksh i=0 j=`wc -l messages | awk {`print $1`}` index=0 while [ $i -le $j ] do line=`head -n $i messages | tail -n 1` if [ $line == "@@@@" ] then touch file$index index=`expr $index + 1` i=`expr $i + 1` line=`head -n $i messages | tail -n 1` while [ $line != "@@" ] do echo $line >> file$index i=`expr $i + 1` line=`head -n $i messages | tail -n 1` done fi i=`expr $i + 1` done אמור לפצל קובץ במבנה כזה: @@@@ fdlfjksdlfksd rwjrowejrlkjrl sdfldkjflkjlk @@ @@@@ 5349538405980fdslfk fsdljfkjlfk rweoriwuoi @@ לשני קבצים כך שבכל קובץ מופיעות השורות בין @@@@ ו @@. אולם כשאני מריץ את הסקריפט אני מקבל: ./parts[24]: [: @@@@: unexpected operator/operand אולי למישהו יש מושג מה הבעיה? (אני משתמש ב pdksh של Cygwin) תודה.
דרג את ההודעה: הסקריפט הזה: #!/usr/bin/ksh i=0 j=`wc -l messages | awk {`print $1`}` index=0 while [ $i -le $j ] do line=`head -n $i messages | tail -n 1` if [ $line == "@@@@" ] then touch file$index index=`expr $index + 1` i=`expr $i + 1` line=`head -n $i messages | tail -n 1` while [ $line != "@@" ] do echo $line >> file$index i=`expr $i + 1` line=`head -n $i messages | tail -n 1` done fi i=`expr $i + 1` done אמור לפצל קובץ במבנה כזה: @@@@ fdlfjksdlfksd rwjrowejrlkjrl sdfldkjflkjlk @@ @@@@ 5349538405980fdslfk fsdljfkjlfk rweoriwuoi @@ לשני קבצים כך שבכל קובץ מופיעות השורות בין @@@@ ו @@. אולם כשאני מריץ את הסקריפט אני מקבל: ./parts[24]: [: @@@@: unexpected operator/operand אולי למישהו יש מושג מה הבעיה? (אני משתמש ב pdksh של Cygwin) תודה.