This script also covers following techniques:
=> Reading input text file line by line
=> Reading and processing words in input
=> Convert word to lowercase
#!/bin/bash # Write a shell script that counts English language articles (a, an, the) # in a given text file. # # -------------------------------------------------------------------- # This is a free shell script under GNU GPL version 2.0 or above # Copyright (C) 2005 nixCraft project. # Feedback/comment/suggestions : http://cyberciti.biz/fb/ # ------------------------------------------------------------------------- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ------------------------------------------------------------------------- echo -n "Enter a file name : " read file a=0 the=0 an=0 # make sure file exist if [ ! -f $file ] then echo "$file not a file!" exit 1 fi # put while loop to read a $file while read line do #process each word for w in $line do # convert word to lowercase; so that we can count ThE, THE, the, THe etc all lword="$(echo $w | tr '[A-Z]' '[a-z]')" # is it 'a' article? [ $lword = "a" ] && (( a++ )) || : [ $lword = "the" ] && (( the++ )) || : [ $lword = "an" ] && (( an++ )) || : done done < $file # display stats echo "a article occured $a times" echo "the article occured $the times" echo "an article occured $an times"
- RSS feed or Weekly email newsletter
- Share on Twitter • Facebook • 1 comment... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
after runing the script in ubuntu it give a error that line io i.e the while command not found