私は、2M行以上の巨大なコーパスからタグを削除するためにsedを使用しようとしていますが、特殊なアルファベット(例えばẽéó) 'は任意の文字' 正規表現コーパスからsedはドット(。)で特殊なアルファベットと一致しません
サンプル(。):
<ext id=1 cad="Opinião" sec="opi" sem="94a">
PT no governo
Gilberto Dimenstein
BRASÍLIA Pesquisa Datafolha publicada hoje revela um dado supreendente: recusando uma postura radical, a esmagadora maioria (77%) dos eleitores quer o PT participando do Governo Fernando Henrique Cardoso .
私はすべてのタグを削除したい(それらはすべて等 "EXT ID = [0-9] CAD" と同じ構造に従ってください) 、私は使用しようとしていた
sed 's/<.\+>//g' file1.txt > file2.txt
それはほとんどの人にとって驚異的でしたが、私が言及した特殊なアルファベット文字のためにまだ残っています。私は何をすべきか?あなたの特定のケースで
コードはあなたのサンプル入力に私のために動作します。あなたはコードの失敗の例を示すことができますか?使用した入力と出力の両方を表示します。あなたが受け取りました。 – John1024
ロケールの設定とファイルのエンコーディングは、追加するimportabtの詳細になります。具体的には、 'C'ロケールでは、各バイトは個々の文字としてカウントされますが、ファイルがUTF-8のようなマルチバイトまたは可変長エンコーディングを使用する場合、非ASCII文字は複数のバイトを占有します。 – tripleee
正規表現を使用してXML/HTMLを解析または編集すると、非常に壊れやすい可能性があります。通常のアドバイスは、XML固有のパーサーを使用することです。 –