← Back to Bash Course | Chapter 10: Text Processing Tools | Lesson 7 of 12

cut और sort

cut हर line से specific columns या characters निकालता है, और sort lines को order में rearrange करता है।
Syntax
bash
cut -d'delimiter' -f field_number file_name
cut -c start-end file_name
sort [-n] [-r] file_name

cut से Fields निकालना

cut -d DELIM -f N हर line को DELIM पर split करता है और field number N print करता है। Multiple fields को -f1,3 जैसी comma-separated list से select किया जा सकता है।

उदाहरण: Extracting Fields with cut

bash
#!/bin/bash
echo "alice,30,engineer" | cut -d, -f2
echo "alice,30,engineer" | cut -d, -f1,3

cut से Characters निकालना

cut -c range हर line से specific character positions निकालता है, delimiters की care किए बिना, जो fixed-width text formats के लिए useful है।

उदाहरण: Extracting Characters with cut

bash
#!/bin/bash
echo "HelloWorld" | cut -c1-5
echo "HelloWorld" | cut -c6-10

Text और Numbers Sort करना

Plain sort lines को text के रूप में compare करता है, इसलिए numeric strings एक unexpected order में sort होती हैं (जैसे "2" से पहले "10")। -n flag sort को values को numerically compare करने के लिए कहता है।

उदाहरण: Sorting Text and Numbers

bash
#!/bin/bash
printf "10\n2\n33\n1\n" > numbers.txt
echo "lexical sort:"
sort numbers.txt
echo "numeric sort:"
sort -n numbers.txt
rm -f numbers.txt

एक Specific Column से Sort करना

sort -k N पूरी line के बजाय Nth field से sort करता है, और numeric columns के लिए -n के साथ या structured data के लिए एक custom -t delimiter के साथ combine किया जा सकता है।

उदाहरण: Sorting by a Specific Column

bash
#!/bin/bash
printf "bob 25\nalice 30\ncarl 20\n" > people.txt
echo "sorted by age (2nd field, numeric):"
sort -k2 -n people.txt
rm -f people.txt
Related Topics
{# common_mistakes/chapter_summary/browser_support: on Hindi pages the view already swaps in the hi_ translation fields (or blanks these out if untranslated), so this renders correctly for both languages without a lang_code check here. #}
आम गलतियां
  1. यह भूल जाना कि cut default रूप से एक single literal delimiter character (tab) पर split करता है, इसलिए comma या दूसरे separators के लिए -d explicitly set करना चाहिए।
  2. यह मान लेना कि sort default रूप से numbers को सही से sort करता है; -n के बिना यह lexically sort करता है, इसलिए "2" से पहले "10" आता है।
  3. यह न जानना कि sort -k आपको पूरी line के बजाय एक specific column से sort करने देता है।
चैप्टर सारांश
  • cut -d, -f2 हर line से दूसरा comma-separated field निकालता है।
  • cut -c1-5 हर line के characters 1 से 5 तक निकालता है।
  • sort default रूप से lexically sort करता है; -n numerically sort करता है; -r order reverse करता है।
  • sort -k N पूरी line के बजाय Nth whitespace- या delimiter-separated field से sort करता है।
🔒

Chapter Quiz — Complete all 12 topics to unlock

0/12 topics done

Complete these topics first:

Login to run this code

C/C++/Java/PHP execution requires a free account. Your code is saved — you'll land right back in the editor after logging in.