Заменить Sed на новые строки? - PullRequest
1 голос
/ 04 июня 2010

Я хочу заменить каждый экземпляр int в очень большой кодовой базе на int32_t, из соображений переносимости. Я безуспешно пытался:

 sed s/'\bint\b'/' int32_t '/g 

, и он не соответствует экземплярам, ​​где int является первым в строке. Я в полном недоумении, как сделать так, чтобы это соответствовало.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 04 июня 2010

Ваш шаблон правильный, у меня работает, включая начало строки:

sed 's/\bint\b/\ int32_t\ /g' file

(возможно, цитаты?)

1 голос
/ 04 июня 2010
s/'^int\b'/'int32_t\b'/g

должно соответствовать тем случаям начала строки, если в начале строки вы имеете в виду самое первое, что есть в строке. Если ваша проблема вызвана символом табуляции перед предшествующим целым, запустите код через расширение, чтобы превратить табуляцию в пробелы, тогда ваше оригинальное выражение будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...