I have two different UNIX scripts for updating Co-ordinate points which are working fine seperately in HP and SUN environments. But I am trying to write a common UNIX script which is to work in HP and SUN environment.
The following are the scripts i am using
SUN:
#!/bin/ksh
info () {
cat << EOT
Shell script to translate VSIGN im components in X, Y and Z dirction
Each original im file remains unchanged and a new file file1_mv.im
is created.
Usage:
move_im x=100 y=-200 z=0 file.im
x Translation in X-direction
y Translation in Y-direction
z Translation in Z-direction
file.im im file
-h This information
EOT
}
if [[ $1 = "-h" ]]; then
info
exit
fi
if [[ $4 = "" ]]
then
info
exit
fi
echo "stop input" > /tmp/move_im_dummy_tmp.file
echo "Start move_im"
for file in "$@"
do
echo $file
st=`echo $file | cut -c 2`
dir=`echo $file | cut -c 1-3`
if [[ $st != "=" ]]
then
#echo $dir
if [[ $dir != "dir" ]]
then
base_file=`echo $file | cut -d. -f1`
old_file=`echo $base_file".im"`
new_file=`echo $base_file"_mv.im"`
echo "Base File:"
echo $old_file
echo "New File:"
echo $new_file
if [[ -f $new_file ]]
then
echo $new_file " exists already"
echo "move_im terminated"
exit
fi
/usr/bin/cp -f $old_file $new_file
echo "O 1 "$new_file > temp_piok.script
/usr/bin/nawk -v $1 -v $2 -v $3 '{
if ( x >= 0) {
printf("(VG 1) = (VG 1) + %-7.1f\n",x)
}
if ( x < 0) {
x_abs=(xx)^0.5
printf("(VG 1) = (VG 1) - %-7.1f\n",x_abs)
}
if ( y >= 0) {
printf("(VG 2) = (VG 2) + %-7.1f\n",y)
}
if ( y < 0) {
y_abs=(yy)^0.5
printf("(VG 2) = (VG 2) - %-7.1f\n",y_abs)
}
if ( z >= 0) {
printf("(VG 3) = (VG 3) + %-7.1f\n",z)
}
if ( z < 0) {
z_abs=(zz)^0.5
printf("(VG 3) = (VG 3) - %-7.1f\n",z_abs)
}
# printf("V VG\n")
} ' < /tmp/move_im_dummy_tmp.file >> temp_piok.script
# echo " $# " >> temp_piok.script
echo " "
echo "Invoking pius piok to update Geometry"
echo " "
pius piok < temp_piok.script
echo " "
echo "pius piok completed"
echo " "
echo "O 1 "$new_file > temp_piok.script
/usr/bin/nawk -v $1 -v $2 -v $3 '{
if ( x >= 0) {
printf("('"'MCMpar'"' 8) = ('"'MCMpar'"' 8) + %-7.1f\n",x)
}
if ( x < 0) {
x_abs=(xx)^0.5
printf("('"'MCMpar'"' 8) = ('"'MCMpar'"' 8) - %-7.1f\n",x_abs)
}
if ( y >= 0) {
printf("('"'MCMpar'"' 9) = ('"'MCMpar'"' 9) + %-7.1f\n",y)
}
if ( y < 0) {
y_abs=(yy)^0.5
printf("('"'MCMpar'"' 9) = ('"'MCMpar'"' 9) - %-7.1f\n",y_abs)
}
if ( z >= 0) {
printf("('"'MCMpar'"' 10) = ('"'MCMpar'"' 10) + %-7.1f\n",z)
}
if ( z < 0) {
z_abs=(zz)^0.5
printf("('"'MCMpar'"' 10) = ('"'MCMpar'"' 10) - %-7.1f\n",z_abs)
}
# printf("V VG\n")
} ' < /tmp/move_im_dummy_tmp.file >> temp_piok.script
# echo " $# " >> temp_piok.script
echo " "
echo "Invoking pius piok to update COG coordinates"
echo " "
pius piok < temp_piok.script
fi
fi
done
echo " "
echo "pius piok completed"
echo " "
/usr/bin/rm -f temp_piok.script /tmp/move_im_dummy_tmp.file
echo "move_im succesfully completed"
exit
HP:
#!/bin/ksh
info () {
cat << EOT
Shell script to translate VSIGN im components in X, Y and Z dirction
Each original im file remains unchanged and a new file file1_mv.im
is created.
Usage:
move_im x=100 y=-200 z=0 file.im
x Translation in X-direction
y Translation in Y-direction
z Translation in Z-direction
file.im im file
-h This information
EOT
}
if [[ $1 = "-h" ]]; then
info
exit
fi
if [[ $4 = "" ]]
then
info
exit
fi
echo "stop input" > /tmp/move_im_dummy_tmp.file
echo "Start move_im"
for file in "$@"
do
echo $file
st=`echo $file | cut -c 2`
dir=`echo $file | cut -c 1-3`
if [[ $st != "=" ]]
then
#echo $dir
if [[ $dir != "dir" ]]
then
base_file=`echo $file | cut -d. -f1`
old_file=`echo $base_file".im"`
new_file=`echo $base_file"_mv.im"`
echo "Base File:"
echo $old_file
echo "New File:"
echo $new_file
if [[ -f $new_file ]]
then
echo $new_file " exists already"
echo "move_im terminated"
exit
fi
/usr/bin/cp -f $old_file $new_file
echo "O 1 "$new_file > temp_piok.script
/usr/bin/awk -v $1 -v $2 -v $3 '{
if ( x >= 0) {
printf("(VG 1) = (VG 1) + %-7.1f\n",x)
}
if ( x < 0) {
x_abs=(xx)^0.5
printf("(VG 1) = (VG 1) - %-7.1f\n",x_abs)
}
if ( y >= 0) {
printf("(VG 2) = (VG 2) + %-7.1f\n",y)
}
if ( y < 0) {
y_abs=(yy)^0.5
printf("(VG 2) = (VG 2) - %-7.1f\n",y_abs)
}
if ( z >= 0) {
printf("(VG 3) = (VG 3) + %-7.1f\n",z)
}
if ( z < 0) {
z_abs=(zz)^0.5
printf("(VG 3) = (VG 3) - %-7.1f\n",z_abs)
}
# printf("V VG\n")
} ' < /tmp/move_im_dummy_tmp.file >> temp_piok.script
# echo " $# " >> temp_piok.script
echo " "
echo "Invoking pius piok to update Geometry"
echo " "
/ford/thishost/unix/apps_bin/pius piok < temp_piok.script
echo " "
echo "pius piok completed"
echo " "
echo "O 1 "$new_file > temp_piok.script
/usr/bin/awk -v $1 -v $2 -v $3 '{
if ( x >= 0) {
printf("('"'MCMpar'"' 8) = ('"'MCMpar'"' 8) + %-7.1f\n",x)
}
if ( x < 0) {
x_abs=(xx)^0.5
printf("('"'MCMpar'"' 8) = ('"'MCMpar'"' 8) - %-7.1f\n",x_abs)
}
if ( y >= 0) {
printf("('"'MCMpar'"' 9) = ('"'MCMpar'"' 9) + %-7.1f\n",y)
}
if ( y < 0) {
y_abs=(yy)^0.5
printf("('"'MCMpar'"' 9) = ('"'MCMpar'"' 9) - %-7.1f\n",y_abs)
}
if ( z >= 0) {
printf("('"'MCMpar'"' 10) = ('"'MCMpar'"' 10) + %-7.1f\n",z)
}
if ( z < 0) {
z_abs=(zz)^0.5
printf("('"'MCMpar'"' 10) = ('"'MCMpar'"' 10) - %-7.1f\n",z_abs)
}
# printf("V VG\n")
} ' < /tmp/move_im_dummy_tmp.file >> temp_piok.script
# echo " $# " >> temp_piok.script
echo " "
echo "Invoking pius piok to update COG coordinates"
echo " "
/ford/thishost/unix/apps_bin/pius piok < temp_piok.script
fi
fi
done
echo " "
echo "pius piok completed"
echo " "
/usr/bin/rm -f temp_piok.script /tmp/move_im_dummy_tmp.file
echo "move_im succesfully completed"
exit
Please kindly help me ane one interested to sort out this issue by changing two seperate scripts into single common scripts
thanks and regards
Ramkumar
You have a load of other tags, please add code tags - the one thing that would make the code readable. Thanks.