Команда sed заменить / на; только для состояния
Подскажите пожалуйста как заменить /
с ;
в этом:
ASAL
/*
* VIEW: VINAME1
*/
Create view viewname
/
test
Мне нужно конвертировать только одинокий /
поэтому вывод должен быть таким:
ASAL
/*
* VIEW: VINAME1
*/
Create view viewname
;
test
2 ответа
Это /
между началом и концом линии. В качестве регулярного выражения это ^/$
:
sed 's|^/$|;|' your_file
Это идентифицирует косую черту как единственный символ в строке:
sed 's.^/$.;.g'
Символ каретки обозначает начало строки, доллар обозначает конец строки.
Редактировать: чтобы разрешить пробел до и после косой черты, и удалить его:
sed -r 's.^(\s)?/(\s)?$.;.'
Изменить 2: чтобы разрешить пробел и не удалять его:
sed -r '/^(\s)?\/(\s)?$/ s./.;.'