1

sed を使用してテキスト ファイル (.csv) 内のすべての £ 記号を削除しようとしていますが、機能せず、理由もわかりません。助言がありますか?基本的に使用:

sed -i 's/£//g' file.csv

ロケールの出力:

LANG=en_GB.UTF-8
LANGUAGE=
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

アップデート:

では、なぜ sed が機能しなかったのかはわかりませんが、tr -d '\243' < inputfile は機能します。@devnull に感謝します。

4

3 に答える 3

1

試しましたか:

sed "s/\xA3//" inputfile

または、次を使用できますtr

tr -d '\243' < inputfile
于 2013-08-06T10:39:38.220 に答える
1

ポンド記号には 16 進コードを使用します。

異なるプラットフォームでは異なるバージョンのように見えますが、sedの動作は大きく異なります。GNUバージョンを入手したばかりで、正常に動作します。

sed を使用する前に、 「sed を使用してはいけない場合」セクションを読む必要があります。

于 2013-08-06T10:22:31.807 に答える