我在bash中有以下行:
echo "Manufacturer: $(echo ${family:-$name}|cut -d' ' -f1)"
我想使用${var^}
语法来大写回显字符串,但不确定如何将其添加到当前行。有人可以建议怎么做吗?
答案 0 :(得分:2)
两个一个衬垫
$ echo "watever" | awk '{print toupper($0)}'
$ echo "watever" | tr '[:lower:]' '[:upper:]'
答案 1 :(得分:1)
使用command substitution
:
s=$(echo "Manufacturer: $(echo ${family:-$name}|cut -d' ' -f1)")
然后使用:
echo "${s^^}"
将字符串大写。
答案 2 :(得分:1)
sed
在这里很方便:
name=smith
family=""
echo "Manufacturer: $(sed 's/[^[:blank:]]\+/\U&/' <<< "${family:-$name}")"
Manufacturer: SMITH
如果您只想“标题案例”(“制造商:史密斯”),请使用\u
代替\U