Hi,
I need modify the all lines in a file into one format.
cat file
htec.twe34c.ATI
.hesh.twdghu..ATI
..hesh.twdghu..ATI
htec.twe3
hjsct14567ati
Output should have 16 characters
htectwe34c ATI
heshtwdghu ATI
heshtwdghu ATI
htectwe3 ATI
hjsct14567 ATI
This is my code:
#!/bin/ksh
echo "enter the file name"
read file
sed -e 's/\.//g' -e 's/ //g' $file>file1
y=ATI
while read line
do
n=`echo $line|wc -c`
echo $n
new=`echo $line |sed 's/\(.*\).../\1/'`
x=`echo $new|wc -c`
echo $x
var=`echo $line|awk '{print substr($0, length($0)-2)}'`
if [ "$var" != "$y" ]
then
echo $line
case $n in
6) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
7) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
8) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
9) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
10) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
11) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
12) `echo $line|sed -e 's/$/ ATI/'>>finalresult` ;;
13) `echo $line|sed -e 's/$/ATI/'>>finalresult` ;;
*) echo "bye" ;;
esac
else
echo $new
case $x in
6) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
7) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
8) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
9) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
10) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
11) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
12) `echo $new|sed -e 's/$/ ATI/'>>finalresult` ;;
13) `echo $new|sed -e 's/$/ATI/'>>finalresult` ;;
*) echo "bye" ;;
esac
fi
done < file1
1) case is not working. its not redirecting output to "finalresult" file.
2) but every time it is executing default condition i.e bye
3) WC -C command is giving wrong count.
ex: echo "unix"|wc -c
o/p :5 (instead of 4)
I am using ksh...can any one help me out.
instant help is really required
Thanks a lot