たとえば、
sed 's/\u0091//g' file1
16進数を取得して、次のようにhexdump
入力する必要があります。sed
$ echo -ne '\u9991' | hexdump -C
00000000 e9 a6 91 |...|
00000003
それから:
$ sed 's/\xe9\xa6\x91//g' file1
答え1
次の構文を使用してください。
sed 's/馑//g' file1
またはエスケープされた形式で:
sed "s/$(echo -ne '\u9991')//g" file1
(以前のバージョンのBashと一部のシェルはこれを理解していないので、echo -e '\u9991'
最初に確認してください。)
答え2
Perlは次のことができます。
echo 汉典“馑”字的基本解释 | perl -CS -pe 's/\N{U+9991}/Jin/g'
-CS
標準入力、出力、およびエラーに対してUTF-8を有効にします。
答え3
答え4
これは私にとって効果的です。
$ vim -nEs +'%s/\%u9991//g' +wq file1
これは私が望むものよりも冗長です。完全な説明は次のとおりです。
-n
vim スワップファイルの無効化-E
Ex改善モード-s
サイレントモード+'%s/\%u9991//g'
交換コマンドの実行+wq
保存と終了