• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer navigation

The Geek Diary

  • OS
    • Linux
    • CentOS/RHEL
    • VCS
  • Interview Questions
  • Database
    • MariaDB
  • DevOps
    • Docker
    • Shell Scripting
  • Big Data
    • Hadoop
    • Cloudera
    • Hortonworks HDP

csvsort: Sorts CSV files

by admin

csvsort is a command-line tool included in the csvkit library, designed to sort CSV (Comma-Separated Values) files based on one or more columns. It provides a simple and efficient way to organize CSV data in a desired order, making it easier to analyze and manipulate the data.

Here are the key features and functionalities of csvsort:

  • CSV Sorting: csvsort allows you to sort CSV files based on one or more columns. You can specify the column(s) to sort on, and csvsort will rearrange the rows in the CSV file to match the specified sort order. This is particularly useful when you want to organize the data in ascending or descending order based on specific criteria, such as alphabetical order or numerical values.
  • Customizable Sorting: csvsort provides options to customize the sorting behavior. You can specify the sort order (ascending or descending) for each column individually. Additionally, you can define the sort type (numeric, alphanumeric, or lexicographic) to ensure proper sorting of different data types.
  • Multi-column Sorting: csvsort supports sorting based on multiple columns. You can define a primary sort column and one or more secondary sort columns to create a hierarchical sort order. This is helpful when you want to sort the data based on multiple criteria, such as sorting by a primary column and then by a secondary column to handle ties.
  • Stabilized Sorting: csvsort performs a stable sort, which means that rows with equal values in the sort column(s) maintain their relative order in the output. This is important when sorting based on multiple columns, as it ensures that the secondary sort columns do not disrupt the order established by the primary sort column.
  • Command-Line Interface: csvsort is operated through a command-line interface (CLI), making it easy to use in shell scripts or as part of larger data processing pipelines. It accepts a CSV file as input, allows you to specify the sort columns and options, and produces the sorted output either to the console or to a specified output file.
  • Integration with csvkit: csvsort is part of the csvkit library, which offers a comprehensive set of tools for working with CSV files. It seamlessly integrates with other csvkit utilities, allowing you to combine different operations and create sophisticated data processing workflows.

By utilizing csvsort, you can efficiently sort CSV files based on one or more columns, enabling better organization and analysis of the data. It provides a flexible and powerful solution for managing and manipulating CSV data, particularly when dealing with large datasets or complex sorting requirements.

csvsort Command Examples

1. Sort a CSV file by column 9:

# csvsort -c 9 data.csv

2. Sort a CSV file by the “name” column in descending order:

# csvsort -r -c name data.csv

3. Sort a CSV file by column 2, then by column 4:

# csvsort -c 2,4 data.csv

4. Sort a CSV file without inferring data types:

# csvsort --no-inference -c columns data.csv

Filed Under: Linux

Some more articles you might also be interested in …

  1. Echo Command with Practical Examples
  2. Basic vim commands (cheat sheet)
  3. addr2line Command Examples in Linux
  4. update-alternatives Command Examples in Linux
  5. borg Command Examples (Deduplicating backup tool)
  6. fossil rm: Remove files or directories from Fossil version control
  7. taskset: command not found
  8. boot: Build tooling for the Clojure programming language
  9. fwupdmgr Command Examples in Linux
  10. nautilus Command Examples in Linux

You May Also Like

Primary Sidebar

Recent Posts

  • Vanilla OS 2 Released: A New Era for Linux Enthusiasts
  • mk Command Examples
  • mixxx Command Examples
  • mix Command Examples

© 2025 · The Geek Diary

  • Archives
  • Contact Us
  • Copyright