pjain
November 26, 2010, 11:17pm
1
i need to write script to copy the txt file to excel. (data can be 2000+), data may not be in order
ex:
my name: abc
age: 20
add: xyz
DOB: 17-mar-2010
add1: adf
add2: guioth
my name: cat
age: 35
DOB: 11-oct-2005
city: yeshjl
add: opq
DOB: 17-mar-2010
add1: atg
add2: gth
add3:ert
my name: def
age: 21
DOB: 17-apr-2010
add: uvw
add1: adf
add2: gyuth
require format as below in excel, columnwise
abc 20 17-mar-2010 xyz
cat 35 11-oct-2005 opq yeshjl
def 21 17-apr-2010 uvw
hi, welcome to the forum. What have you tried so far?
ctsgnb
November 27, 2010, 2:51am
3
$ cat myscript
#!/usr/bin/ksh
[[ -n "$(tail -1 txt)" ]] && echo >>txt
while read a
do
case ${a%%:*} in
"my name") f1=${a##*: } ;;
"age") f2=${a##*: } ;;
"DOB") f3=${a##*: } ;;
"city") f5=${a##*: } ;;
"add") f4=${a##*: } ;;
esac
if [[ -z $a ]]; then
echo "$f1 $f2 $f3 $f4 $f5"
f1="" ; f2="" ; f3="" ; f4="" ; f5=""
fi
done<txt
$ cat txt
my name: abc
age: 20
add: xyz
DOB: 17-mar-2010
add1: adf
add2: guioth
my name: cat
age: 35
DOB: 11-oct-2005
city: yeshjl
add: opq
DOB: 17-mar-2010
add1: atg
add2: gth
add3:ert
my name: def
age: 21
DOB: 17-apr-2010
add: uvw
add1: adf
add2: gyuth
$ ksh myscript
abc 20 17-mar-2010 xyz
cat 35 17-mar-2010 opq yeshjl
def 21 17-apr-2010 uvw
$