Sedコマンドを使用して、bashスクリプトでHTMLからすべてのタグを削除する必要があります。これで試した
sed -r 's/[\<][\/]?[a-zA-Z0-9\=\"\-\#\.\& ]+[\/]?[\>]//g' $1
そしてこれは
sed -r 's/[\<][\/]?[.]*[\/]?[\\]?[\>]//g' $1
しかし、私はまだ何か、何か提案がありませんか?
多くの HTMLからテキストへのコンバーターのいずれかを使用できます 、可能であればPerl正規表現を使用します_<.+?>
_またはsed
でなければならない場合は_<[^>]*>
_を使用します
_sed -e 's/<[^>]*>//g' file.html
_
エラーの余地がない場合は、代わりにHTMLパーサーを使用してください。例えば。要素が2行にまたがる場合
_<div
>Lorem ipsum</div>
_
この正規表現は機能しません。
この正規表現は、3つの部分で構成されています_<
_、_[^>]*
_、_>
_
<
_を開くための検索*
_が続きます。これらは終了__>
_ではありません[...]
_は 文字クラス で、_^
_で始まる場合、文字を探しますnotクラス内>
_を閉じることを探します単純な正規表現_<.*>
_は機能しません。これは、可能な限り最長の一致、つまり入力行で最後に閉じる_>
_を検索するためです。たとえば、入力行に複数のタグがある場合
_<name>Olaf</name> answers questions.
_
になります
質問に答えます。
の代わりに
オラフは質問に答えます。
詳細な説明については、 スターとプラスの繰り返し 、特にセクション 気をつけろ! および以下も参照してください。