1

私はこのsedコマンドを持っています:

sed 's/old/new/g' file.txt

ただし、文字列 'folder' 内の古いものも置き換えます。左または右に文字がない場合、文字列を置き換えるにはどうすればよいですか?

4

4 に答える 4

2

使用\b:

's/\bold\b/new/g'

そして私は通常perlに固執します:

perl -pi -e 's/\bold\b/new/g' file.txt

于 2013-04-25T00:27:20.617 に答える
1

PCRE ワード境界拡張をサポートしていないバージョンの sed と互換性を持たせるには、その拡張の効果を自分でエミュレートする必要があります。

sed -r 's@(^|[^[:alpha:]])old($|[^[:alpha:]])@\1new\2@g'
于 2013-04-25T00:25:47.443 に答える