将输入文件从小写转换为大写

时间:2018-07-09 10:55:58

标签: linux bash unix tr

我有一个带有内容的文本文件“ temp”

Hai! How are you

我想将同一文件的内容更改为

HAI! HOW ARE YOU

当我使用 cat temp |tr a-z A-Z(---仅输出显示为大写。文件保持不变...。)。我希望更改文件内容。 在使用cat temp |tr a-z A-Z>>temp时(-附加了输出,未覆盖)。请帮助

3 个答案:

答案 0 :(得分:0)

您可以使用一个临时文件来存储结果:

cat temp | tr "a-z" "A-Z" > t
rm temp
mv t temp

使用sed应该也可以:

sed -i 's/./\U&/g' temp

答案 1 :(得分:0)

从temp读取内容,将其转换为大写并将其写回temp:

echo "$(awk '{print toupper($0)}' < temp)" > temp

答案 2 :(得分:0)

cat temp |tr a-z A-Z>>temp 

不会因为双'>'

而覆盖

要覆盖内容,请使用单个'>'

cat temp |tr a-z A-Z>temp