Anda dapat melakukan sesuatu seperti:
ls | cut -c1-20 | columns -W "${COLUMNS:-80}"
(itu columns
dengan s
autogen dari GNU). Atau:
ls | cut -c1-20 | column -c"${COLUMNS:-80}"
Menggunakan column
seperti yang ditemukan pada BSD atau di bsdmainutils
Debian atau turunannya.
zsh
juga memiliki dukungan untuk mencetak hal-hal dalam kolom, sehingga Anda dapat mendefinisikan fungsi seperti:
setopt extendedglob
c() print -rC$[COLUMNS/(($1)+2)] -- "${(M)@[2,-1]##?(#c0,$[$1])}"
Dan gunakan sebagai:
c 20 *.txt
Untuk mencetak daftar file txt dalam kolom, terpotong menjadi 20 karakter.
Dan untuk membuatnya sedikit lebih gila, Anda bisa menambahkan:
command_not_found_handler() {(($1)) && c "$@"}
Dengan begitu, Anda juga bisa melakukan:
20 *
Atau bahkan:
8+8 *
Dengan asumsi layar 80 kolom, saya suka menggunakan
ls -F | perl -lne 's/(.{34}).*/$1... /s ; print' | column -x | more
gunakan
ls -FC
untuk mengurutkan berdasarkan kebaruan(Sidenote: saya
ls
sudah menggulir karena itu aliasls -CF --color | more -r
. Tidak yakin itu praktik terbaik ...)sumber