Я хочу искать строку
1 /value Error Code:12345/I
И замените его
1 /deleted by user/i
Как я могу сделать это с sed
?
sed
может использовать переменные разделители:
$ echo "1 /value Error Code:12345/I " | sed 's;/value.*/I;/deleted by user/i;'
1 /deleted by user/i
Но если необходимо использовать /
по любой причине можно всегда предварительно ожидать \
им, когда они являются литеральными:
$ echo "1 /value Error Code:12345/I " | sed 's/\/value.*\/I/\/deleted by user\/i/;'
1 /deleted by user/i
Или Вы могли отказаться sed
в целом и использование awk
, с /
как разделитель для обоих полей ввода и выходных полей:
$ echo "1 /value Error Code:12345/I " | awk -F'/' 'BEGIN{OFS=FS}{$2="deleted by user";$3="i";print}'
1 /deleted by user/i