如何将bash中的第一列更改为小写? 例如: ABC | DEF | GHI 至 ABC | DEF | GHI
感谢
答案 0 :(得分:5)
echo "ABC|DEF|GHI" | sed 's/\([A-Z]*\)\|/\L\1/'
输出:
abc|DEF|GHI
答案 1 :(得分:4)
awk -F"|" '{l = $0; sub($1, "", l); print tolower($1) l}' yourFile
答案 2 :(得分:0)
这可能对您有用:
echo "ABC|DEF|GHI" | sed 's/[^|]*/\L&/'
abc|DEF|GHI
答案 3 :(得分:0)
看Ma,没有 sed !
e="ABC|DEF|GHI"
prefix=${e%%|*}
postfix=${e#*|}
echo ${prefix,,}"|"${postfix}
结果:
abc|DEF|GHI
${e%%|*}
从最后删除匹配| *的所有内容${e%|*}
从最后删除一个匹配${e##*|}
删除与* |匹配的所有内容从一开始${e#*|}
删除一个匹配* |从一开始${prefix,,}
生成小写${prefix^^}
生成大写有关详情,请参阅man bash
,Parameter expansion
部分。