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.txtTo 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 |