サブディレクトリ内のファイル内の文字列を一括置換したい


検索するとやり方の書かれた記事がたくさん出てくるんですが  
sed が gnu 版かどうかで２パターンあって  
どっちを実行してもうまくいきません

[code]

    sed --version
    gsed (GNU sed) 4.8
    
[/code]

となるので sed は gnu 版みたいなんですが

[code]

    find . -type f | xargs sed -i '' 's/置換前/置換後/g'
    sed: RE error: illegal byte sequence
    
[/code]

[code]

    find . -type f | xargs sed -i 's/置換前/置換後/g'
    sed: 1: "./vars/front.yml": invalid command code .
    
[/code]

となってしまいます

何が悪いんでしょうか

**実行環境**

MAC OS  
zsh  
gnu sed を gsed というバイナリ名でインストールして  
alias で sed という名前にしています




まず、sed の -i オプションは間違いではないですか？

`find . -type f | xargs sed 's/置換前/置換後/g'`  
は問題ないと思います。

`RE error: illegal byte sequence` は、置換前か置換後の正規表現（RE=Regular
Expression）に誤りがあるのではないかと思います。

