Exibir saída em formato de coluna

Exibir saída em formato de coluna

Eu escrevi um script de shell que exibe nome de usuário, nome do terminal, horário de login, etc., usando case. O código é:

echo "Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time"
read ch
case $ch in
1)
echo `who | cut -c1-8 | cut -d" " -f1`
;;
2)
echo `who | cut -c9-16 | column`
;;
3)
echo `who | cut -c22-32 | sort`
;;
4)
echo `who | cut -c34-39`
;;
esac

Quando executo esse script, a saída vem em uma única linha e quero que ela seja exibida em formato colunar (ou seja, listado em várias linhas em uma única coluna). Eu tentei os cutcomandos columne sort, mas sem trégua. A saída é:

Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time
1
bioinfo class class class class class class class class class class
[class@bio ~]$

Responder1

Eu usaria awkem vez de cutpara isso, por exemplo:

#!/bin/bash

echo "Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time"
read ch
case $ch in
    1)  
    who | awk '{ print $1 }'
    ;;  
    2)  
    who | awk '{ print $2 }'
    ;;  
    3)  
    who | awk '{ print $3 " " $4 }'
    ;;  
    4)  
    who | awk '{ print $5 }'
    ;;  
    *)  
    echo "Wrong input"
esac

Amostras de execução:

./whoList.sh 
Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time
2
console
ttys000
ttys001

./whoList.sh 
Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time
3
Oct 3
Oct 3
Oct 3

./whoList.sh 
Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time
1
maulinglawns
maulinglawns
maulinglawns

./whoList.sh 
Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time
4
09:01
09:44
11:01

./whoList.sh
Press 1 for user name, 2 for terminal name, 3 for login date and 4 for time
7
Wrong input

A saída, como você pode ver, é tudo em umcoluna, não em uma única linha.

Editar: testado no OS X 10.11.6

bash --version GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin15)

informação relacionada