How to sort and filter data in a text file using Bash?

To sort and filter data in a text file using Bash, you can utilize the following commands:

  1. Sorting Data:

    • sort: This command is used to sort data in a text file. By default, it sorts data in ascending order.

      sort filename.txt
    • sort -r: To sort data in descending order, use the -r flag.

      sort -r filename.txt
    • sort -k: If you want to sort data based on a specific column, use the -k flag followed by the column number. For example, to sort based on the second column:

      sort -k 2 filename.txt
  2. Filtering Data:

    • grep: This command is used for filtering data based on specific patterns or regular expressions. It outputs the lines that match the pattern.

      grep "pattern" filename.txt
    • grep -i: To perform a case-insensitive search, use the -i flag.

      grep -i "pattern" filename.txt
    • grep -v: If you want to exclude lines matching a specific pattern, use the -v flag.

      grep -v "pattern" filename.txt
    • awk: This command is a powerful text-processing tool that allows you to filter data based on specific conditions. For example, to filter lines where the second column value is greater than 10:

      awk '$2 > 10' filename.txt
    • sed: This command is used for filtering and transforming text. For example, to filter lines that contain a specific pattern:

      sed '/pattern/!d' filename.txt

Note: Replace filename.txt with the actual name of your text file.