私はこのsedコマンドs/[\x00-\x1F]/ /g;
を試してきました。同じエラーメッセージが表示されました。
この場合には、それは単にs/[\x01-\x1F]/ /g;
を得、照合から\x00
を削除すればよい残念ながら、それはすべての文字上記と\x7F
や他のいくつかを含むように思えるこの短いスクリプトで見られるように、禁止されています
for ((i=0; i<=255; i++)); do
printf "== $i - \x$(echo "ibase=10;obase=16;$i" | bc) =="
echo '' | sed -E "s/[\d$i-\d$((i+1))]]//g"
done
問題は、これらの文字を使用して範囲を指定することのみであることに注意してください。手動またはスクリプトごとにそれらをすべて一覧表示することはできます。例えば。あなたの例に戻ってきて:
sed -i 's/[\d128-\d255]//' FILENAME
はに変換でしょう
c=; for ((i=128; i<255; i++)); do c="$c\d$i"; done
sed -i 's/['"$c"']//' FILENAME
なる:
sed -i 's/[\d128\d129\d130\d131\d132\d133\d134\d135\d136\d137\d138\d139\d140\d141\d142\d143\d144\d145\d146\d147\d148\d149\d150\d151\d152\d153\d154\d155\d156\d157\d158\d159\d160\d161\d162\d163\d164\d165\d166\d167\d168\d169\d170\d171\d172\d173\d174\d175\d176\d177\d178\d179\d180\d181\d182\d183\d184\d185\d186\d187\d188\d189\d190\d191\d192\d193\d194\d195\d196\d197\d198\d199\d200\d201\d202\d203\d204\d205\d206\d207\d208\d209\d210\d211\d212\d213\d214\d215\d216\d217\d218\d219\d220\d221\d222\d223\d224\d225\d226\d227\d228\d229\d230\d231\d232\d233\d234\d235\d236\d237\d238\d239\d240\d241\d242\d243\d244\d245\d246\d247\d248\d249\d250\d251\d252\d253\d254\d255]//' FILENAME
+1です。他にも 'sedsed.py'スクリプトがあります(こちらはhttp://aurelio.net/sedsed/)。パターンとスペースを検査するのに便利です。この場合は役立たないかもしれませんが、便利なデバッグツールではありません。 :) –
sed -n 'l0'コマンドが面白いですが、それは会社のために印刷されます:Drob \ 357 \ 277 \ 275Sphere Inc – xref
そして私はまだそれを扱うための上記の例は得られません。 Windows LibreOfficeではAEとして表示されていますが、どこにもありません)は実際にはユニコードで表現できないという特殊文字ですか? http://www.fileformat.info/info/unicode/char/fffd/index.htm – xref