-
Notifications
You must be signed in to change notification settings - Fork 2
/
194.sh
50 lines (43 loc) · 830 Bytes
/
194.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# Author : Accagain
# Date : 17/2/15
# Email : [email protected]
####################################################################
#
# Given a text file file.txt, transpose its content.
#
# You may assume that each row has the same number of columns and each field
#
# is separated by the ' ' character.
#
# For example, if file.txt has the following content:
#
# name age
# alice 21
# ryan 30
#
# Output the following:
# name alice ryan
# age 21 30
#
declare -A matrix
row=1
col=1
file=file.txt
while read line; do
col=1
for word in $line; do
matrix[$row,$col]=$word
#echo $row, $col
#echo -n ' '${matrix[$row,$col]}
((col++))
done
((row++))
done < $file
for ((i=1;i<col;i++)) do
#echo $i
echo -n ${matrix[1,$i]}
for ((j=2;j<row;j++)) do
echo -n ' '${matrix[$j,$i]}
done
echo
done