我正在收集磁盘使用数据,并希望将日期、时间和主机名添加到此命令中。我怎样才能以这种格式做到这一点:
YYYY-MM-DD HH:MM:SS,HOSTNAME,DISK_USAGE_DATA
到目前为止我的命令:
df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $2 "," $3 "," $4 "," $1 }'
另外,如何获取命令的输出,以 KB 为单位提供大小,而不是默认的混合 GB/MB 大小?这样我在计算时就有了工作的基础。
答案1
awk
可以独自做到这一点:
df -B KB | awk 'NR!=1&&$1!~/tmpfs|cdrom/{printf "'$(date "+%Y-%m-%d-%H:%M:%S")','$(hostname)',%s,%s,%s,%s\n", $2, $3, $4, $1}'
解释:
df -B KB
:打印以 KB 为单位的值awk
NR!=1
: 避免第一行$1!~/tmpfs|cdrom/
:如果第一个字段不包含排除的文件系统printf
: 打印格式化$(date +%Y-%m-%d)
:所需格式的日期$(hostname)
:主机名%s,%s,%s,%s\n
: 以及其余的