Bash 以非拉丁字母开头的大写单词
Bash uppercase words that start with non-latin letters
我想将文件中每一行的第一个单词大写。为此,我可以使用以下命令之一:
sed 's/^./\u&/'
sed -E 's/[[:alpha:]]+/\u&/1'
但是,这些命令不会大写以非拉丁字母开头的单词,例如
ängstlich
.
我尝试导出 LC_ALL=C,但这并没有解决问题。
如何解决这个问题?
我建议:
echo "ängstlich" | LC_ALL=de_DE.UTF-8 sed -E 's/[[:alpha:]]+/\u&/1'
输出:
Ängstlich
我想将文件中每一行的第一个单词大写。为此,我可以使用以下命令之一:
sed 's/^./\u&/'
sed -E 's/[[:alpha:]]+/\u&/1'
但是,这些命令不会大写以非拉丁字母开头的单词,例如
ängstlich
.
我尝试导出 LC_ALL=C,但这并没有解决问题。
如何解决这个问题?
我建议:
echo "ängstlich" | LC_ALL=de_DE.UTF-8 sed -E 's/[[:alpha:]]+/\u&/1'
输出:
Ängstlich