perl -ne 'print uc'
perl -npe '$_=uc'
perl -npe 'tr/[a-z]/[A-Z]/'
perl -npe 'tr/a-z/A-Z/'
tr '[a-z]' '[A-Z]'
sed y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
sed 's/\([a-z]\)/\U\1/g'
sed 's/.*/\U&/'
awk '{print toupper($0)}'
字符串 使用perl、tr、sed和awk将其转换为小写
perl -ne 'print lc'
perl -npe '$_=lc'
perl -npe 'tr/[A-Z]/[a-z]/'
perl -npe 'tr/A-Z/a-z/'
tr '[A-Z]' '[a-z]'
sed y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/
sed 's/\([A-Z]\)/\L\1/g'
sed 's/.*/\L&/'
awk '{print tolower($0)}'
型 复杂的bash到小写:
while read v;do v=${v//A/a};v=${v//B/b};v=${v//C/c};v=${v//D/d};v=${v//E/e};v=${v//F/f};v=${v//G/g};v=${v//H/h};v=${v//I/i};v=${v//J/j};v=${v//K/k};v=${v//L/l};v=${v//M/m};v=${v//N/n};v=${v//O/o};v=${v//P/p};v=${v//Q/q};v=${v//R/r};v=${v//S/s};v=${v//T/t};v=${v//U/u};v=${v//V/v};v=${v//W/w};v=${v//X/x};v=${v//Y/y};v=${v//Z/z};echo "$v";done
型 复杂的bash到大写:
while read v;do v=${v//a/A};v=${v//b/B};v=${v//c/C};v=${v//d/D};v=${v//e/E};v=${v//f/F};v=${v//g/G};v=${v//h/H};v=${v//i/I};v=${v//j/J};v=${v//k/K};v=${v//l/L};v=${v//m/M};v=${v//n/N};v=${v//o/O};v=${v//p/P};v=${v//q/Q};v=${v//r/R};v=${v//s/S};v=${v//t/T};v=${v//u/U};v=${v//v/V};v=${v//w/W};v=${v//x/X};v=${v//y/Y};v=${v//z/Z};echo "$v";done
sed "s/[aA]/a/g;s/[bB]/b/g;s/[cC]/c/g;s/[dD]/d/g;s/[eE]/e/g;s/[fF]/f/g;s/[gG]/g/g;s/[hH]/h/g;s/[iI]/i/g;s/j/[jJ]/g;s/[kK]/k/g;s/[lL]/l/g;s/[mM]/m/g;s/[nN]/n/g;s/[oO]/o/g;s/[pP]/p/g;s/[qQ]/q/g;s/[rR]/r/g;s/[sS]/s/g;s/[tT]/t/g;s/[uU]/u/g;s/[vV]/v/g;s/[wW]/w/g;s/[xX]/x/g;s/[yY]/y/g;s/[zZ]/z/g"
9条答案
按热度按时间7bsow1i61#
以下是使用
tr
和sed
进行转换的两种方法:使用
tr
大写转小写
字符串
小写转大写
型
在GNU上使用
sed
(但不是BSD或Mac)大写转小写
型
小写转大写
型
sed
版本不能在BSD或Mac上运行的原因是这些系统不支持\L
或\U
标志ymdaylpp2#
如果你有GNU扩展,你可以使用sed的\L(lower entire match,or until \L [lower] or \E [end - toggle casing off] is reached),像这样:
字符串
注意:'&'表示完全匹配模式。
作为旁注,GNU扩展包括\U(upper),\u(upper next character of match),\l(lower next character of match)。例如,如果你想要一个句子:
型
注意:由于假设我们有GNU扩展,我们可以使用序列,如
\w
(匹配单词字符)和-E
(扩展正则表达式)选项,这使您不必转义一个或多个量词(+
)和某些其他特殊正则表达式字符。3phpmpom3#
如果您愿意考虑使用其他工具,您也可以使用
awk
轻松完成此操作:字符串
2w3kk1z54#
这里有许多解决方案:
使用perl,tr,sed和awk进行升级
字符串
使用perl、tr、sed和awk将其转换为小写
型
复杂的bash到小写:
型
复杂的bash到大写:
型
简单的bash到小写:
型
简单的bash到大写:
型
注意,${v,}和${v^}只改变第一个字母。
你应该这样使用它:
型
azpvetkf5#
我喜欢这里的一些答案,但有一个sed命令应该在任何平台上都可以做到这一点:
字符串
总之,这很容易理解。知道y命令有时会派上用场。
4ngedf3f6#
如果你有GNU sed(可能在Linux上,但不是在 *BSD或macOS上):
字符串
输出量:
型
goqiplq27#
如果您正在使用posix sed
选择任何情况下的模式(使用此sed转换搜索的模式,然后使用regex在您想要的命令中使用转换后的模式:
字符串
小写转换
型
相同的大写替换//之间的小写字母由sed中的大写等价物
玩得开心
uoifb46i8#
简短,甜蜜,你甚至不需要重定向:-)
字符串
aoyhnmkz9#
而不是键入以下长表达式:
字符串
我们可以使用这个:
型