Linux 如何更改UTF文件的大小写
我有一个大写的UTF文件,我想把所有单词都改成小写 我试过:Linux 如何更改UTF文件的大小写,linux,bash,text,Linux,Bash,Text,我有一个大写的UTF文件,我想把所有单词都改成小写 我试过: `$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt` `$tr'[:upper:][:lower:][:input.txt>output.txt` 但这只会改变没有口音的切拉特 这是因为默认字符类仅适用于标准ASCII,其中不包括大多数国际重音字符。如果您已经定义了一组这些字符,最简单的方法就是手动添加从特殊大写字符到特殊小写字符的映射: tr'ÄÖU[:upp
`$ tr '[:upper:]' '[:lower:]' < input.txt > output.txt`
`$tr'[:upper:][:lower:][:input.txt>output.txt`
但这只会改变没有口音的切拉特
这是因为默认字符类仅适用于标准ASCII,其中不包括大多数国际重音字符。如果您已经定义了一组这些字符,最简单的方法就是手动添加从特殊大写字符到特殊小写字符的映射: tr'ÄÖU[:upper:][äöü[:lower:]
如果只有几个重音字符,这是可行的。这是因为默认字符类仅适用于标准ASCII,而标准ASCII不包括大多数国际重音字符。如果您已经定义了一组这些字符,最简单的方法就是手动添加从特殊大写字符到特殊小写字符的映射: tr'ÄÖU[:upper:][äöü[:lower:]
如果您只有几个重音字符,这是可行的。否,问题是
tr
不支持Unicode
$ grep -o '[[:upper:]]' <<< JalapeÑo
J
Ñ
$ tr '[:upper:]' '[:lower:]' <<< JalapeÑo
jalapeÑo
不,问题是
tr
不支持Unicode
$ grep -o '[[:upper:]]' <<< JalapeÑo
J
Ñ
$ tr '[:upper:]' '[:lower:]' <<< JalapeÑo
jalapeÑo
最后,我发现最简单的方法是使用awk:
awk '{print tolower($0)}' < input.txt > output.txt
awk'{print tolower($0)}'output.txt
最后,我发现最简单的方法是使用awk:
awk '{print tolower($0)}' < input.txt > output.txt
awk'{print tolower($0)}'output.txt
也许这是超级用户的?当然,错了,但我不知道如何移动它。也许这是超级用户的?当然,错了,但我不知道如何移动它。你是对的!但是到目前为止,使用字符类对我来说从来都不起作用,无论是unicode还是拉丁语,所以我很久以前就放弃了,总是手工操作:-(你是对的!但是到目前为止,使用字符类对我来说从来都不起作用,无论是unicode还是拉丁语,所以我很久以前就放弃了,总是手工操作:-(这确实是“正确”的方法,因为awk
知道Unicode,而tr
没有。这应该是公认的答案。这确实是“正确”的方法,因为awk
知道Unicode,而tr
没有。这应该是公认的答案。