Add fixed value column to CSV

Published on:

add-column.sh

#!/usr/bin/env bash


if [ $# -lt 2 ]; then
  me="$(basename "$(test -L "$0" && readlink "$0" || echo "$0")")"
  echo ""
  echo "Usage: $me HEADER VALUE"
  echo ""
  echo "  We read from STDIN and write to STDOUT."
  echo ""
  exit 1
fi

cat /dev/stdin | sed "1 s/$/,$1/" | sed "1 ! s/$/,$2/"

add-column.js

#!/usr/bin/env node

'use strict';

const path = require('path');

if (process.argv.length < 4) {
  console.error(`
Usage: ${path.basename(process.argv[1])} HEADER VALUE
  We read from STDIN and write to STDOUT.
`);
  process.exit(1);
}

require('csv-stream-transform')({
  transform(row, cb) {
    row[process.argv[2]] = process.argv[3];
    cb(null, row);
  }
});