Converting entire text file contents to upper or lower case

Have you ever needed to convert the entire contents of a text file from upper to lower case or vice versa?

In the Linux and UNIX world, there is always more than one way to perform the same task and in this article, I use five command-line utilities (tr, sed, awk, perl, and dd) to achieve our goal:

UtilityExample
tr To lowercase:
tr '[:upper:]' '[:lower:]' < upper.txt > lower.txt
To uppercase:
tr '[:lower:]' '[:upper:]' < lower.txt > upper.txt
sed To lowercase:
sed -e 's/.*/\L&/' upper.txt > lower.txt
To uppercase:
sed -e 's/.*/\L&/' lower.txt > upper.txt
awk To lowercase:
awk '{print tolower($0)}' upper.txt > lower.txt
To uppercase:
awk '{print toupper($0)}' lower.txt > upper.txt
perl To lowercase:
perl -pe '$_= lc($_)' upper.txt > lower.txt
To uppercase:
perl -pe '$_= uc($_)' lower.txt > upper.txt
dd To lowercase:
dd if=upper.txt of=lower.txt conv=lcase
To uppercase:
dd if=lower.txt of=upper.txt conv=ucase