Você pode combinar watch
e printf
para produzir o resultado desejado.
Aqui está um script de exemplo:
#!/bin/bash
columns="$(tput cols)"
du -hs *.part | while read i; do
printf "%*s\n" $(( (${#i} + columns) / 2)) "$i"
done
Salve-o com um nome como script.sh
e execute-o como:
watch bash script.sh
a saída seria:
4.0K myfile
4.0K anotherfile
54M coreutils-8.25
28K coreutils_8.25-2ubuntu2.debian.tar.xz
4.0K coreutils_8.25-2ubuntu2.dsc
5.5M coreutils_8.25.orig.tar.xz
Aqui está outro script:
#!/bin/bash
for i in *.part
do
title='du -hs "$i"'
echo -e "\t\t\t\t$title\n"
done
execute:
watch bash myscript.sh
vai mostrar um resultado parecido com:
4.0K myfile
4.0K anotherfile
54M coreutils-8.25
28K coreutils_8.25-2ubuntu2.debian.tar.xz
4.0K coreutils_8.25-2ubuntu2.dsc
5.5M coreutils_8.25.orig.tar.xz
Use quantos \t
você precisa para obter o resultado desejado.