Hello sravani25,
If you were to post the output of your df -h
command it could make it possible to let you know even more.
It is OK for learning and quick iteration what you have done with multiple files and multiple invocations of nawk
, however, it's quite possilbe to do all the transformation with just one call to awk
and one output file.
As explicit as that is, the terser form is more common.
nawk 'NR>1' /tmp/sdf2 > /tmp/sdf3
Here's an example of how I would lean to do what I think you want. You might need to install the command utility jq
which is it very handy when dealing with json.
Assuming an output of df -h
as:
Filesystem Size Used Avail Use% Mounted on
udev 983M 0 983M 0% /dev
tmpfs 200M 5.0M 195M 3% /run
/dev/mapper/debian--10--vg-root 62G 2.0G 57G 4% /
tmpfs 998M 0 998M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 998M 0 998M 0% /sys/fs/cgroup
mergerfs 30G 128M 30G 1% /mnt/storage
/dev/sda1 236M 48M 176M 22% /boot
/dev/sdd1 10G 43M 10G 1% /mnt/disk2
/dev/sde1 10G 43M 10G 1% /mnt/disk3
/dev/sdf1 9.8G 38M 9.3G 1% /mnt/parity1
/dev/sdc1 10G 43M 10G 1% /mnt/disk1
tmpfs 200M 0 200M 0% /run/user/1000
Command:
df -h | tr -s ' ' | jq -sR 'split("\n") |
.[1:-1] |
map(split(" ")) |
map({"file_system": .[0],
"total": .[1],
"used": .[2],
"available": .[3],
"used_percent": .[4],
"mounted": .[5]})'
Output:
[
{
"file_system": "udev",
"total": "983M",
"used": "0",
"available": "983M",
"used_percent": "0%",
"mounted": "/dev"
},
{
"file_system": "tmpfs",
"total": "200M",
"used": "5.0M",
"available": "195M",
"used_percent": "3%",
"mounted": "/run"
},
{
"file_system": "/dev/mapper/debian--10--vg-root",
"total": "62G",
"used": "2.0G",
"available": "57G",
"used_percent": "4%",
"mounted": "/"
},
{
"file_system": "tmpfs",
"total": "998M",
"used": "0",
"available": "998M",
"used_percent": "0%",
"mounted": "/dev/shm"
},
{
"file_system": "tmpfs",
"total": "5.0M",
"used": "0",
"available": "5.0M",
"used_percent": "0%",
"mounted": "/run/lock"
},
{
"file_system": "tmpfs",
"total": "998M",
"used": "0",
"available": "998M",
"used_percent": "0%",
"mounted": "/sys/fs/cgroup"
},
{
"file_system": "mergerfs",
"total": "30G",
"used": "128M",
"available": "30G",
"used_percent": "1%",
"mounted": "/mnt/storage"
},
{
"file_system": "/dev/sda1",
"total": "236M",
"used": "48M",
"available": "176M",
"used_percent": "22%",
"mounted": "/boot"
},
{
"file_system": "/dev/sdd1",
"total": "10G",
"used": "43M",
"available": "10G",
"used_percent": "1%",
"mounted": "/mnt/disk2"
},
{
"file_system": "/dev/sde1",
"total": "10G",
"used": "43M",
"available": "10G",
"used_percent": "1%",
"mounted": "/mnt/disk3"
},
{
"file_system": "/dev/sdf1",
"total": "9.8G",
"used": "38M",
"available": "9.3G",
"used_percent": "1%",
"mounted": "/mnt/parity1"
},
{
"file_system": "/dev/sdc1",
"total": "10G",
"used": "43M",
"available": "10G",
"used_percent": "1%",
"mounted": "/mnt/disk1"
},
{
"file_system": "tmpfs",
"total": "200M",
"used": "0",
"available": "200M",
"used_percent": "0%",
"mounted": "/run/user/1000"
}
]