I have data in a comma separate file. This is the structure of the input file.
code, day_1, day_2, day_3
- 1235, 0, 21, 6
- 1236, 9, 3, 4
- 1237, 1, 7, 3
I would like transform it, and display the column data as row entries
code, day, count
- 1235, day_1, 0
- 1235, day_2, 21
- 1235, day_3, 6
- 1236, day_1, 9
- 1236, day_2, 3
- 1236, day_3, 4
- 1237, day_1, 1
- 1237, day_2, 7
- 1237, day_3, 3
Here's my code and output.
Code
#!/bin/bash
file='test_file.in'
IFS=$','
while read -r code day_1 day_2 day_3
do
#echo "$code, $branch, $description"
count=1
while [ $count -le 3 ]
do
day_var=""'$day_'"${count}"
#echo $day_var
echo "$code, day_${count}, $day_var"
count=$[$count+1]
done
done < $file
Output:
120006, day_1, $day_1 120006, day_2, $day_2 120006, day_3, $day_3 120007, day_1, $day_1 120007, day_2, $day_2 120007, day_3, $day_3 140197, day_1, $day_1 140197, day_2, $day_2 140197, day_3, $day_3
Kindly suggest a bash script solution for me.