Tente fazer isso:
LANG=C df -h /dev/xvda1 |
awk 'NR>1{print "Filesystem: "$1 " Size: " $2 " Used: " $3 " Avail: " $4 " Use%:" $5 " Mounted on: " $6}'
Eu quero converter a saída de 2 linhas de df -h
em uma única linha significativa, ou seja,
Tome
[root@ip-10-42-1-246 tmp]# df -h /dev/xvda1
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 1.2G 19G 6% /
[root@ip-10-42-1-246 tmp]#
E produza 1 linha para ler
Filesystem: /dev/xvda1 Size: 20G Used: 1.2G Avail: 19G Use%: 6% Mounted on: /
Qual é a maneira mais eficiente de fazer isso? Eu posso então esguichar a linha do signle no syslog e fazer coisas interessantes com ela.
Tente fazer isso:
LANG=C df -h /dev/xvda1 |
awk 'NR>1{print "Filesystem: "$1 " Size: " $2 " Used: " $3 " Avail: " $4 " Use%:" $5 " Mounted on: " $6}'
Você pode fazer ...
findmnt -DP /dev/xvda1
Qual é bem próximo do que você quer. Aqui está o que meu /dev/sda1
recebe:
findmnt -DP /dev/sda1
SOURCE="/dev/sda1" FSTYPE="vfat" SIZE="3G" USED="306.5M" AVAIL="2.7G" USE%="10%" TARGET="/esp"
Como opção, você pode especificar os campos com a opção --output
.
Tags disk-usage awk sed cut