ls -1
listará um arquivo por linha. Esse é o padrão quando a saída de ls
é redirecionada para qualquer lugar que não seja um terminal.
Para obter o resultado que você espera, seria melhor fazer algo como
ls -l | awk 'NR > 1 { print $9 ":" $1 }'
ou melhor ainda,
stat -c "%n:%A" *
embora ambos listem todas as permissões, não apenas as permissões do grupo. Para ver apenas permissões de grupo, use
ls -l | awk 'NR > 1 { print $9 ":" substr($1,5,3) }'
ou
stat -c "%n:%A" * | sed 's/....\(...\)...$//'
(hat-tip para user1404316 para a expressão sed
).
As variantes ls
-parsing não lidam com espaços e outros caracteres em branco nos nomes dos arquivos, portanto eles não devem t ser usado em geral .