Popularity
1.7
Declining
Activity
0.0
Declining
65
10
6

Code Quality Rank: L4
Monthly Downloads: 0
Programming language: JavaScript
License: MIT License
Tags: Table     Text     String     Str     Parse     Parser     Term     CSV     Column     Cmd     Columns     Shell     Unix     Command     Output     Row     Sh     Col    
Latest version: v2.0.0

parse-columns alternatives and similar modules

Based on the "Text" category

Do you think we are missing an alternative of parse-columns or a related project?

Add another 'Text' Module

README

parse-columns Build Status

Parse text columns, like the output of Unix commands

Install

$ npm install parse-columns

Usage

$ 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
const {promisify} = require('util');
const childProcess = require('child_process');
const parseColumns = require('parse-columns');

const execFileP = promisify(childProcess.execFile);

(async () => {
    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': '/'
        },
        …
    ]
    */
})();

API

parseColumns(textColumns, [options])

textColumns

Type: string

Text columns to parse.

options

Type: object

separator

Type: string Default: ' '

Separator to split columns on.

headers

Type: string[]

Headers to use instead of the existing ones.

transform

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)

License

MIT © Sindre Sorhus


*Note that all licence references and agreements mentioned in the parse-columns README section above are relevant to that project's source code only.