Замена "//" на ";"используя сед - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь заменить в файле все вхождения "//" (без кавычек) на ";".Например, это file.txt:

// this is a comment
hello.

И я хочу, чтобы это выглядело так:

;this is a comment
hello.

Я попытался это безуспешно:

sed  s%//\s%;%g file.txt

Я должен сказать, что я использую порт Windows для инструмента, найденного здесь: http://unxutils.sourceforge.net/

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018
sed "s,// ,;,g" filename

Это работает для вас?

0 голосов
/ 23 сентября 2018

Предполагается, что UNIX: всегда заключать в кавычки скрипты - sed 'script', а не sed script.Как написано, оболочка будет интерпретировать ваш ; как конец команды.Кроме того, большинство seds не распознает \s сокращение для [[:space:]].Используйте это:

$ sed 's#// #;#' file
;this is a comment
hello.

или это:

$ sed 's#//[[:space:]]#;#' file
;this is a comment
hello.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...