SED - 文字4:終了していない 's'コマンド

SED - 文字4:終了していない 's'コマンド

私のスクリプトでは、次のエラーが発生します。問題を特定するのに役立ちますか?

sed "s/$(printf "\302")/ /g" file1 > file1_new
sed: -e expression #1, char 4: unterminated `s' command

しかし、この方法は問題なくうまく機能します。

sed "s/$(printf "\240")/ /g" file1 > file1_new
cat file1_new > file1
rm file1_new

まずは問題ないですか?

ベストアンサー1

sedバイナリの交換がうまく機能しないようです。ちょうどあなたがしていることをテストしましたが、うまくいくようtrです。実際には、次の1つのコマンドで簡単に実行できます。

cat /path/to/file1 | tr "$(printf "\302\240")" " " > /path/to/file1_new

tr最初の引数の文字セットを2番目の引数の文字セットに「変換」するツールです(必要に応じて、最初の引数セットの長さと一致するように拡張されます)。だから私たちはあなたが試したように各文字を空白に変換しますsed

おすすめ記事