colrm - Linux


The colrm command removes or deletes columns from a given input of text. It is a handy tool for streamlining data cleaning and transformation tasks, particularly when working with tabular data or text files containing structured information.


colrm [options] <column_list> [input_file]


  • -d, –delimiter: Custom delimiter to separate columns. Default: Tab (\t).
  • -h, –header: Treat the first line as a header and do not remove it.
  • -i, –ignore-empty: Ignore and skip empty columns.
  • -o, –output-file: Output file to save the results. Default: Standard output.
  • -q, –quiet: Suppress output messages.
  • -r, –range: Specify a range of columns to remove. Format: start-end.
  • -s, –separator: Custom separator to join the resulting columns. Default: Default delimiter.
  • -v, –verbose: Enable verbose output for debugging.


Remove specific columns:

colrm 3 5 input.txt

Remove a range of columns:

colrm 3-5 input.txt

Use a custom delimiter:

colrm -d "," 2 4 input.csv

Ignore empty columns:

colrm -i 1 3 5 input.txt

Output to a file:

colrm -o output.txt 1 3 input.txt

Common Issues

Incomplete column removal:

Ensure that the column numbers or ranges specified are within the bounds of the input data.

Invalid delimiter:

Verify that the custom delimiter specified using -d is a valid single character or sequence.


colrm can be integrated with other tools and commands to perform more complex data manipulation tasks. For instance:

  • grep | colrm: Filter specific lines and then remove columns.
  • sort | colrm: Sort data and then remove specific columns.
  • awk | colrm: Perform advanced data transformations and then remove columns.

Related Commands

  • cut: Removes specific columns based on character positions.
  • sed: Performs text substitution and manipulation.
  • tr: Translates characters or deletes specified characters.