純粹只是爲了好玩,我想知道如何使用awk
,sed
,tr
,正則表達式或除Python或Perl以外的任何其他Unix工具將所有小寫字母轉換爲大寫字母。使用Unix命令的交替cApS
到目前爲止,我已經試過
echo "hello" | sed s/\([a-z]\)/\U\1/g
所需的輸出應爲HeLlO
。如果有人能改善這種情況或提供替代方法,我將不勝感激。
純粹只是爲了好玩,我想知道如何使用awk
,sed
,tr
,正則表達式或除Python或Perl以外的任何其他Unix工具將所有小寫字母轉換爲大寫字母。使用Unix命令的交替cApS
到目前爲止,我已經試過
echo "hello" | sed s/\([a-z]\)/\U\1/g
所需的輸出應爲HeLlO
。如果有人能改善這種情況或提供替代方法,我將不勝感激。
的awk
方法給你:
echo "hello" | awk '{for(i=1;i<=NF;i+=2)$i=toupper($i)}1' FS= OFS=
HeLlO
$ sed 's/[a-z].\?/\u\0/g' <<< hello
HeLlO
(免責聲明:這可能取決於非標準的特性,我跑這對GNU sed的版本4.2.1。)
這可能爲你工作(GNU sed):
sed 's/[[:lower:]][^[:alpha:]]*\([[:alpha:]]\|$\)/\u&/g' file