我运行的命令在sed中错误地工作

时间:2013-09-06 17:54:03

标签: bash sed

此命令在sed版本4.2.1中不起作用。

    sed 's/[[:upper:]]/[[:lower:]]/' <file. 

虽然它确实检测到大写模式,但它不会转换为小写,而是将捕获的模式转换为[[:lower:]]。任何解决方法?

2 个答案:

答案 0 :(得分:2)

改为使用tr

tr '[:upper:]' '[:lower:]' file

答案 1 :(得分:0)

使用sed,您需要捕获组中的大写模式,然后使用小写版本替换

sed -r 's/([[:upper:]])/\L\1/g' <file