Skip to content

Practice Exercise: Miscellaneous Text Utilities

Objective:

Explore various miscellaneous text manipulation utilities available in Linux.

Task 1: Using rev to Reverse Text

  • Open a terminal window.
  • Create a sample text file named original.txt with a sentence or phrase.
  • Use the rev command to reverse the characters in the original.txt file.
  • Observe the reversed output.
    [intern@intern-a1t-inf-lnx1 ~]$ echo "Hello, world!" > original.txt
    [intern@intern-a1t-inf-lnx1 ~]$ rev original.txt
    !dlrow ,olleH
    

Task 2: Counting Words and Characters with wc

  • Create a new text file named word_count.txt with several lines of text.
  • Use the wc command to count the number of words, lines, and characters in the word_count.txt file.
  • Experiment with different options to display specific counts.
    [intern@intern-a1t-inf-lnx1 ~]$ echo "This is a sample text file." > word_count.txt
    [intern@intern-a1t-inf-lnx1 ~]$ echo "It contains multiple lines." >> word_count.txt
    [intern@intern-a1t-inf-lnx1 ~]$ echo "Counting words and characters." >> word_count.txt
    
    [intern@intern-a1t-inf-lnx1 ~]$ wc word_count.txt
     3 14 87 word_count.txt
    
    [intern@intern-a1t-inf-lnx1 ~]$ wc -l word_count.txt
    3 word_count.txt
    

Task 3: Sorting Text with sort

  • Create a text file named unsorted.txt with multiple lines of unsorted text.
  • Use the sort command to alphabetically sort the lines in the unsorted.txt file.
  • Try sorting the text in reverse order and in numerical order.
    [intern@intern-a1t-inf-lnx1 ~]$ echo "zebra
    apple
    banana
    grape" > unsorted.txt
    
    [intern@intern-a1t-inf-lnx1 ~]$ sort unsorted.txt
    apple
    banana
    grape
    zebra
    
    [intern@intern-a1t-inf-lnx1 ~]$ sort -r unsorted.txt
    zebra
    grape
    banana
    apple
    
    [intern@intern-a1t-inf-lnx1 ~]$ echo "5
    42
    3" >> unsorted.txt
    
    [intern@intern-a1t-inf-lnx1 ~]$ sort -n unsorted.txt
    apple
    banana
    grape
    zebra
    3
    5
    42
    

Task 4: Removing Duplicate Lines with uniq

  • Create a text file named duplicates.txt with some duplicate lines.
  • Use the uniq command to remove duplicate lines and save the result in a new file called unique_lines.txt.
    [intern@intern-a1t-inf-lnx1 ~]$ echo "apple
    banana
    apple
    orange" > duplicates.txt
    [intern@intern-a1t-inf-lnx1 ~]$ uniq duplicates.txt
    apple
    banana
    apple
    orange
    [intern@intern-a1t-inf-lnx1 ~]$ sort duplicates.txt  | uniq
    apple
    banana
    orange
    
  • uniq is often used with sort

Task 5: Formatting Text with fmt

  • Create a text file named long_paragraph.txt with a lengthy paragraph of text.
  • Use the fmt command to format the text, specifying a maximum line width.
  • Observe how fmt wraps and formats the text.
    [intern@intern-a1t-inf-lnx1 ~]$ echo "This is a very long paragraph of text that needs formatting. It goes on and on, with no line breaks, making it difficult to read. Let's use the fmt command to format this text and wrap it to a specified line width." > long_paragraph.txt
    
    [intern@intern-a1t-inf-lnx1 ~]$ fmt -w 40 long_paragraph.txt
    This is a very long paragraph of text
    that needs formatting. It goes on and
    on, with no line breaks, making it
    difficult to read. Let's use the fmt
    command to format this text and wrap
    it to a specified line width.
    

Conclusion

In this lab exercise, you've explored various miscellaneous text manipulation utilities in Linux, including reversing text with rev, counting words and characters with wc, sorting text with sort, removing duplicate lines with uniq, extracting text columns with cut, and formatting text with fmt. These utilities are valuable for various text processing tasks in a Linux environment.