Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何更改UTF文件的大小写_Linux_Bash_Text - Fatal编程技术网

Linux 如何更改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

我有一个大写的UTF文件,我想把所有单词都改成小写

我试过:

`$ 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
没有。这应该是公认的答案。