This article hasn't been updated for over 5 years. The information below may be obsolete.
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:
| Utility | Example |
|---|---|
| tr | To lowercase:
tr '[:upper:]' '[:lower:]' < upper.txt > lower.txtTo uppercase: tr '[:lower:]' '[:upper:]' < lower.txt > upper.txt |
| sed | To lowercase:
sed -e 's/.*/\L&/' upper.txt > lower.txtTo 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.txtTo uppercase: perl -pe '$_= uc($_)' lower.txt > upper.txt |
| dd | To lowercase:
dd if=upper.txt of=lower.txt conv=lcaseTo uppercase: dd if=lower.txt of=upper.txt conv=ucase |