2013-09-06 1 views
1

эта команда не работает в sed версии 4.2.1.Команда, которую я запускал, работает неправильно в sed

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

хотя он обнаруживает верхний шаблон, он не делает преобразование в нижний регистр, а он преобразует захваченные образцы в [[: ниже:]]. любой обходной путь?

+1

Просто любопытно, что же содержание вашего '' файла''? –

ответ

0

С СЕПГ, вам нужно захватить образец прописной в группе, а затем заменить с строчной версии

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

Спасибо, 1_CR. это сработало. в учебнике sed, который я читаю, нет упоминания о -r или даже \ L. Возможно, мне нужно снова прочитать страницы sed man на bash. Благодарю. симпатичный. –

2

Использование tr вместо:

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

Я знаю, что существует. хотел знать, почему я не мог сделать это с sed, когда sed поддерживает bre. –

Смежные вопросы