$ gnpm install parse-columns
Parse text columns, like the output of Unix commands
npm install parse-columns
$ df -kP
Filesystem 1024-blocks      Used Available Capacity  Mounted on
/dev/disk1   487350400 467871060  19223340    97%    /
devfs              185       185         0   100%    /dev
map -hosts           0         0         0   100%    /net
import {promisify} from 'node:util';
import childProcess from 'node:child_process';
import parseColumns from 'parse-columns';
const execFileP = promisify(childProcess.execFile);
const {stdout} = await execFileP('df', ['-kP']);
console.log(parseColumns(stdout, {
	transform: (item, header, columnIndex) => {
		// Coerce elements in column index 1 to 3 to a number
		if (columnIndex >= 1 && columnIndex <= 3) {
			return Number(item);
		}
		return item;
	}
}));
/*
[
	{
		Filesystem: '/dev/disk1',
		'1024-blocks': 487350400,
		Used: 467528020,
		Available: 19566380,
		Capacity: '96%',
		'Mounted on': '/'
	},
	…
]
*/
Type: string
The text columns to parse.
Type: object
Type: string
Default: ' '
Separator to split columns on.
Type: string[]
Headers to use instead of the existing ones.
Type: Function
Transform elements.
Useful for being able to cleanup or change the type of elements.
The supplied function gets the following arguments and is expected to return the element:
element (string)header (string)columnIndex (number)rowIndex (number)Copyright 2013 - present © cnpmjs.org | Home |