paste
seria a maneira mais fácil de fazer isso. Mas, com descritores de arquivos bash e substituições de processos:
exec 3< <(cal 1 2015)
exec 4< <(cal 2 2015)
exec 5< <(cal 3 2015)
while IFS= read -r -u3 line1; do
IFS= read -r -u4 line2
IFS= read -r -u5 line3
printf "%-25s%-25s%-25s\n" "$line1" "$line2" "$line3"
done
exec 3<&-
exec 4<&-
exec 5<&-
January 2015 February 2015 March 2015
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4 5 6 7
4 5 6 7 8 9 10 8 9 10 11 12 13 14 8 9 10 11 12 13 14
11 12 13 14 15 16 17 15 16 17 18 19 20 21 15 16 17 18 19 20 21
18 19 20 21 22 23 24 22 23 24 25 26 27 28 22 23 24 25 26 27 28
25 26 27 28 29 30 31 29 30 31