используя SED для замены 'price' на 'g: price' - PullRequest
0 голосов
/ 14 февраля 2011

это возвращает ошибку, указывающую, что ':' - плохой символ, я использовал это:
sed "s / price / / g: price // g" file.txt> outputfile.txt

Ответы [ 3 ]

0 голосов
/ 14 февраля 2011

Если вы хотите изменить «цену» на «g: цена», вам не нужно избегать «:».Также используйте одинарные кавычки (если только вы не хотите интерполировать переменные)

$ echo "price" | sed 's/price/g:price/'
g:price
0 голосов
/ 02 мая 2011

Ваша проблема не связана с символом : - ваша команда неверна по другим причинам:

с / цена / / г: цена // г

Эта команда выполняет замену всех prince экземпляров пробелами:

с / цена / / г

, поскольку остальная часть команды не имеет смысла, sed не может выполнить ее. Что вы должны сделать, это удалить / сразу после price и удалить один из / в конце команды. Результат будет представлен ответом @kurumi:

s/price/g:price/

НТН

0 голосов
/ 14 февраля 2011

Попробуйте убежать от него:

 sed "s/price/g\:price/g" file.txt > outputfile.txt
...