Supondo que sistemas de arquivos e pontos de montagem não contenham caracteres em branco, tente:
df -hP | awk 'NR>1 { $1=$6="" ; print }' | column -t
df -hP
lista as estatísticas do sistema de arquivos sem quebras de linha para nomes longos do sistema de arquivos.
awk 'NR>1 { ... }'
restringe a ação dada às linhas 2 e seguintes para ignorar a linha de cabeçalho de df
...
O awk
-action { $1=$6="" ; print }
zera os campos indesejados e imprime o restante.
Usar { print $2,$3,$4,$5 }
faria o mesmo trabalho.
column -t
organiza toda a saída como tabela limpa.
$ cat x
#!/bin/sh
echo '<testing inside a script>'
df -hP | awk 'NR>1 { $1=$6="" ; print }' | column -t
echo '</testing inside a script>'
$ chmod +x x
$ ./x
<testing inside a script>
71G 39G 29G 58%
1006M 0 1006M 0%
10M 208K 9,8M 3%
1006M 0 1006M 0%
</testing inside a script>
$ _
(Eu removerei isso novamente quando o problema mencionado nos comentários for resolvido ...)