avi*_*hse 6 shell awk uppercase
我正在从键盘读取一个字符并将其转换为大写,然后再次显示该字符.但这显示错误.我怎样才能做到这一点.
我的代码: -
read a;
a=echo $a | tr 'a-z' 'A-Z'
echo $a
Run Code Online (Sandbox Code Playgroud)
我也试过这个: -
read option;
eval $(awk -v option=$option '{print "a="toupper(option);}')
echo $a
Run Code Online (Sandbox Code Playgroud)
P.P*_*.P. 16
如果要将结果存储a回来a,则可以使用命令替换:
read a;
a=$(echo $a | tr 'a-z' 'A-Z')
echo $a
Run Code Online (Sandbox Code Playgroud)
dog*_*ane 16
这可以原生bash如下:
read a;
a="${a^^}"
echo "$a"
Run Code Online (Sandbox Code Playgroud)
没有必要调用其他命令tr,因为bash可以自己执行此操作.
小智 5
AWK是使用完整的Unicode支持转换大小写的正确方法;-)
echo "öäüßè" | awk 'BEGIN { getline; print toupper($0) }'
Run Code Online (Sandbox Code Playgroud)