Quote:
Originally Posted by vaskarbasak
test.text:-
--------
601215856422|COM|0|0|CD|1|3.99
601215868029|COM|0|0|CD|1|3.99
801472092322|COM|0|0|CD|2|10.98
802097013822|COM|0|0|CD|2|10.98
601215856422|MOM|0|0|CD|1|3.99
601215856422|RNO|0|0|CD|1|3.99
601215856422|SOM|0|0|CD|1|3.99
..........
I have to do
601215856422|COM|0|CD|1|3.99|MOM|0|CD|1|3.99|RNO|0 |CD|1|3.99
....
The code is bit complicating but i have provided you flexibility to do a lot of things,I also believe there are a lot more simpler ways to do it
- a=601215856422
-
filelengthmain=`wc -l input.txt |cut -d ' ' -f1`
-
val1=1
-
val1=`expr $val1 + 0`
-
for ((j=1; j<=$filelengthmain; j++))
-
do
-
ln=`head -$val1 input.txt|tail -1`
-
val=`echo $ln | cut -d '|' -f 1`
-
if test $a = $val
-
then
-
fvals[$val]=`echo $ln | grep -e $a |grep -v SOM | cut -d '|' -f 2-3,5-7`
-
b=`echo $b"|"${fvals[$val]}`
-
fi
-
val1=`expr $val1 + 1`
-
done
-
echo $a$b
-
Output :
601215856422|COM|0|CD|1|3.99|MOM|0|CD|1|3.99|RNO|0 |CD|1|3.99|