Sunday, June 21, 2009

How can you convert a text file to all lower case or all upper case?

As usual, in Linux, there are more than 1 way to accomplish a task.

To convert a file (input.txt) to all lower case (output.txt), choose any ONE of the following:


* dd

$ dd if=input.txt of=output.txt conv=lcase


* tr

$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt


* awk

$ awk '{ print tolower($0) }' input.txt > output.txt


* perl

$ perl -pe '$_= lc($_)' input.txt > output.txt


* sed

$ sed -e 's/\(.*\)/\L\1/' input.txt > output.txt


We use the backreference \1 to refer to the entire line and the \L to convert to lower case.



To convert a file (input.txt) to all upper case (output.txt):


* dd

$ dd if=input.txt of=output.txt conv=ucase


* tr

$ tr '[:lower:]' '[:upper:]' < input.txt > output.txt


* awk

$ awk '{ print toupper($0) }' input.txt > output.txt


* perl

$ perl -pe '$_= uc($_)' input.txt > output.txt


* sed

$ sed -e 's/\(.*\)/\U\1/' input.txt > output.txt

reference from
http://linuxcommando.blogspot.com/2008/05/how-to-convert-text-files-to-all-upper.html

No comments:

Post a Comment