#!/bin/bash if [ "$2" == "-lines" ] then { lines=$(( $(grep -c ^ $1) )) echo "$lines lines" } elif [ "$2" == "-words" ] then { grep -E -o '\b\w+\b' $1 > output awk '/$/!p {count++}END{if(count!=0){print count,"words"}else{print "0 words";}}' output rm output } elif [ "$2" == "-chars" ] then { grep -E -o '(\S)' $1 > charac awk '/$/!p {count++}END{if(count!=0){print count,"characters"}else{print "0 characters";}}' charac rm charac } elif [ "$2" == "-paras" ] then { #sed -n '/^$/N;/^\n$/D' $1 #awk '{if(!$0)count++}END{if(count!=0){print count,"paragraphs"}else{print "0 paragraphs";}}' $1 sed -e :a -e '/./,$!d;/^\n*$/{$d;N;};/\n$/ba' $1 > file1 grep -cvP '\S' file1 > z line1=$(head -n 1 z) r=$(($line1+1)) echo "$(( $r-3 ))" rm z rm file1 } else { grep -E -o '\S' $1 > charac awk 'BEGIN {ORS=" "}/$/!p {count++}END{if(count!=0){print count,"characters,"}else{print "0 characters,";}}' charac rm charac grep -E -o '\b\w+\b' $1 > output awk 'BEGIN {ORS=" "}/$/!p {count++}END{if(count!=0){print count,"words,"}else{print "0 words,";}}' output rm output lines=$(( $(grep -c ^ $1) )) echo -n "$lines lines, " #sed -n '/^$/N;/^\n$/D' $1 sed -e :a -e '/./,$!d;/^\n*$/{$d;N;};/\n$/ba' $1 > file1 grep -cvP '\S' file1 > z line1=$(head -n 1 z) r=$(($line1+1)) echo "$(( $r-3 )) paragraphs" rm z;rm file1 #awk '{if(!$0)count++}END{if(count!=0){print count,"paragraphs"}else{print"0 paragraphs";}}' $1 } fi