|
|
|
|
||||||
| comp.unix.shell Using and programming the Unix shell. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
Hi.
Can you me to debug this script ? I'm trying discover why when I run this script I have any files with ".." in the file name... tru64> cat script1 fs=$HOME/t*.gz for f in `ls $fs` do if [ "`expr length $f`" = 23 ] then /usr/bin/gunzip -f $f if [ $? != 0 ] then mv -f $f $f"_error_unzip" else fn=`expr substr $f 1 17` fe=`expr substr $f 18 3` mv -f $fn$fe $fn.$fe nr=`cat $fn.$fe | wc -l` # Number of records ff=`basename $fn.$fe` fi else if [ "`expr length $f`" != 24 ] then mv -f $f $f"_invalid_name" else /usr/bin/gunzip -f $f if [ $? != 0 ] then mv -f $f $f"_error_unzip" else fn=`expr substr $f 1 18` fe=`expr substr $f 19 3` mv -f $fn$fe $fn.$fe nr=`cat $fn.$fe | wc -l` # Number of records ff=`basename $fn.$fe` fi fi fi done tru64> ls $home -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750997.int -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750998.int -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750999.int -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t751000.int -rw-rw---- 1 userpa01 gripr 65239 Apr 28 18:00 t700034..int -rw-rw---- 1 userpa01 gripr 65239 Apr 28 18:00 t700059..int -rw-r--r-- 1 userpa01 gripr 3876 Apr 28 18:08 t010779.int -rw-r--r-- 1 userpa01 gripr 1058 Apr 28 18:13 t2060308.int |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
contracer11@gmail.com wrote:
> Hi. > > Can you me to debug this script ? There's a lot to be said about your program. But let's focus on your problem; how do the path/names of your input files look like? Type ls $HOME/t*.gz > > I'm trying discover why when I run this script > I have any files with ".." in the file name... > > > tru64> cat script1 > > fs=$HOME/t*.gz > > > for f in `ls $fs` > do > if [ "`expr length $f`" = 23 ] > then > /usr/bin/gunzip -f $f > if [ $? != 0 ] > then > mv -f $f $f"_error_unzip" > > > else > > fn=`expr substr $f 1 17` > fe=`expr substr $f 18 3` > mv -f $fn$fe $fn.$fe > nr=`cat $fn.$fe | wc -l` # Number of records > ff=`basename $fn.$fe` > > fi > else > if [ "`expr length $f`" != 24 ] > then > > mv -f $f $f"_invalid_name" > else > /usr/bin/gunzip -f $f > if [ $? != 0 ] > then > mv -f $f $f"_error_unzip" > else > fn=`expr substr $f 1 18` > fe=`expr substr $f 19 3` > mv -f $fn$fe $fn.$fe > nr=`cat $fn.$fe | wc -l` # Number of records > ff=`basename $fn.$fe` > > fi > fi > fi > done > > > tru64> ls $home > > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750997.int > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750998.int > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750999.int > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t751000.int > -rw-rw---- 1 userpa01 gripr 65239 Apr 28 18:00 t700034..int > -rw-rw---- 1 userpa01 gripr 65239 Apr 28 18:00 t700059..int > -rw-r--r-- 1 userpa01 gripr 3876 Apr 28 18:08 t010779.int > -rw-r--r-- 1 userpa01 gripr 1058 Apr 28 18:13 t2060308.int > |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
I don't know what is your shell, but I think this can :
insert before fs=$HOME/t*.gz: set -x Run your script with: script1 your_parms 2>/tmp/mylog See the log with an editor. Use editor's "find", if needed, to locate the problem. contrace...@gmail.com wrote: > Hi. > > Can you me to debug this script ? > > I'm trying discover why when I run this script > I have any files with ".." in the file name... > > > tru64> cat script1 > > fs=$HOME/t*.gz > > > for f in `ls $fs` > do > if [ "`expr length $f`" = 23 ] > then > /usr/bin/gunzip -f $f > if [ $? != 0 ] > then > mv -f $f $f"_error_unzip" > > > else > > fn=`expr substr $f 1 17` > fe=`expr substr $f 18 3` > mv -f $fn$fe $fn.$fe > nr=`cat $fn.$fe | wc -l` # Number of records > ff=`basename $fn.$fe` > > fi > else > if [ "`expr length $f`" != 24 ] > then > > mv -f $f $f"_invalid_name" > else > /usr/bin/gunzip -f $f > if [ $? != 0 ] > then > mv -f $f $f"_error_unzip" > else > fn=`expr substr $f 1 18` > fe=`expr substr $f 19 3` > mv -f $fn$fe $fn.$fe > nr=`cat $fn.$fe | wc -l` # Number of records > ff=`basename $fn.$fe` > > fi > fi > fi > done > > > tru64> ls $home > > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750997.int > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750998.int > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t750999.int > -rw-r--r-- 1 userpa01 gripr 330 Apr 28 17:57 t751000.int > -rw-rw---- 1 userpa01 gripr 65239 Apr 28 18:00 t700034..int > -rw-rw---- 1 userpa01 gripr 65239 Apr 28 18:00 t700059..int > -rw-r--r-- 1 userpa01 gripr 3876 Apr 28 18:08 t010779.int > -rw-r--r-- 1 userpa01 gripr 1058 Apr 28 18:13 t2060308.int |
|
![]() |
| Outils de la discussion | |
|
|