
こんにちは。
LinuxやWindows用のsedコマンドには、[・・・]という演算子によって、
特定の範囲の文字集合が指定できます。
例えば
sed "s/[a-zA-Z]//g" test.txt
というコマンドによって、test.txtから、アルファベットを削除する事ができます。
では、シフトJISコードにおいて、全ての2バイト文字を指定するにはどうすればよいのでしょうか?
シフトJISコードでは、最初の漢字が「亜」であり、最後の漢字が「黑」らしいので、
sed "s/[あ-んア-ン亜-黑]//g"
といったコマンドを試しましたが、これでは
「ー」「、」「。」「ぁぃぅぇぉ」といった文字が残ってしまいます。
結局は、シフトJISコードの2バイト文字の範囲を知りたいのですが、
調べてみても分かりませんでした。
ご存知の方がいらっしゃれば、情報提供をお願い致します。
No.1ベストアンサー
- 回答日時:
そのsedがShift-JISの「1文字」を「1文字」として処理できるものである必要があります。
「マルチバイト文字に対応」と明記していないものでは、
[あ-んア-ン亜-黑]
は
「あ」の1バイト目
「あ」の2バイト目から「ん」の1バイト目
「ん」の1バイト目
...
とばらばらに解釈されている可能性があります。
あとは、Shift-JISのコード表を見れば、「あ-ん」には「ぁ」は入ってないし、句読点は別のところにあるのがわかると思います。
http://charset.7jp.net/sjis.html
> [・・・]という演算子
演算子ではないですが...
御回答ありがとうございます。
>そのsedがShift-JISの「1文字」を「1文字」として処理できるものである必要があります。
onigsedというsedコマンドを使っているのですが、試してみると日本語対応していました。
提供して下さったURLを見た所、全角のスペースが2バイト文字の最初の文字であり、「"」という文字が最後の文字のようでした。
そこで
onigsed "s/[ -"]//g" test.txt
とすると、2バイト文字が全て削除できました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- C言語・C++・C# S-JIS → JIS コード変換するには 3 2023/02/09 23:55
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- UNIX・Linux sedでの正規化 2 2022/05/10 11:39
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Java mac mini 2009 でのmac OS における Java の入れ替えについて 1 2022/12/27 19:23
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) EXCELの「接続」のSQLのコマンド文字列にて、セルから任意の数値を利用したい 2 2023/03/09 16:43
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
10Mバイトて文字数に すると何...
-
UTF-8で5~6バイトになる文字コ...
-
COBOLのCOMP形式について
-
char str[256]の256の意味は?
-
:(コロン)のKeyCode
-
半角、全角の判別方法
-
全角半角を調べるライブラリ関...
-
より高速な画像の表示法
-
ピクセル,dpiから容量(バイト...
-
COBOL PICTUREで X,S,Vの意味
-
C++ Builderで文字列をバイトに...
-
エクセルシート名の制限を変更...
-
iconv変換後のサイズについて
-
VBでShift_JISへurlエンコード...
-
64bit対応
-
バイト列とバイナリ列の違いが...
-
VB6で漢字の1バイト目か2バイト...
-
2byte文字の判定
-
2バイト文字の判定はString#get...
-
C言語において2バイト文字を検...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UTF-8で5~6バイトになる文字コ...
-
10Mバイトて文字数に すると何...
-
COBOLのCOMP形式について
-
char str[256]の256の意味は?
-
エクセルシート名の制限を変更...
-
バイト列とバイナリ列の違いが...
-
VBAでShift-JISのURLエンコード
-
機種依存文字をチェックしたい。
-
ピクセル,dpiから容量(バイト...
-
GetWindowTextでアドレスバーか...
-
この関数はどのプログラミング...
-
ソケット通信の受信サイズ
-
:(コロン)のKeyCode
-
COBOL PICTUREで X,S,Vの意味
-
memcmp バイナリデータの比較方法
-
より高速な画像の表示法
-
半角、全角の判別方法
-
最大長を用意せずにバイナリデ...
-
64bit対応
-
バイナリとBCDコード
おすすめ情報