Você pode fazer algo como:
ls | cut -c1-20 | columns -W "${COLUMNS:-80}"
(écolumns
coms
doGNUautogen).Ou:
ls|cut-c1-20|column-c"${COLUMNS:-80}"
Usandocolumn
comoencontradoemBSDsouembsdmainutils
noDebianouseusderivados.
zsh
tambémtemsuporteparaimprimircoisasemcolunas,entãovocêpodedefinirumafunçãocomo:
setoptextendedglobc()print-rC$[COLUMNS/(($1)+2)]--"${(M)@[2,-1]##?(#c0,$[$1])}"
E use-o como:
c 20 *.txt
Para imprimir os arquivos da lista txt em colunas, truncados para 20 caracteres.
E para torná-lo um pouco mais louco, você pode adicionar:
command_not_found_handler() {(($1)) && c "$@"}
Dessa forma, você também pode fazer:
20 *
Ou até mesmo:
8+8 *