sedでhtmlタグを削除するにはどうすればよいですか?idが指定された特定のhtmlタグのsedとlazy検索
例:
<div id="header"><span id="navbar">... Content ...</span></div>
私が試したもの:
sed 's!<div id=\"header\">.*\?</div>!!g'
は心の中で、これは.*?
(貪欲マッチング)をサポートしていません。このregex reference
sedでhtmlタグを削除するにはどうすればよいですか?idが指定された特定のhtmlタグのsedとlazy検索
例:
<div id="header"><span id="navbar">... Content ...</span></div>
私が試したもの:
sed 's!<div id=\"header\">.*\?</div>!!g'
は心の中で、これは.*?
(貪欲マッチング)をサポートしていません。このregex reference
これはあなたのために働くかもしれない:
sed '
> /<div id="header"><span id="navbar">/{ # search for start tags
> s//\n/ # replace start tags with newline
> :a # label a
> /\n<\/span><\/div>/bb # search for end tags and if so goto label b
> s/\n./\n/ # end tags not found bump along a character
> ta # goto label a if last substitution ok
> :b # label b
> s/// # delete end tags and newline
> /^$/d # check for empty line and if so delete
> }' file
N.B.これは開始タグと終了タグが同じ行にあることを期待しています。
sed
に従って動作するはずです。
ssed
(super sed)を試すことができます。
ファイルからhtmlタグとその内容を削除することが目的なら、次のコマンドを試すことができます。
注:次のコマンドはすべてインラインで編集されています。このコマンドを実行すると、変更したいファイルがすぐに変更されます。テストの前に、あなたのファイルをバックアップしてください。
タグがすべて1行にある場合は、次のように試してみることができます。
sed -i 's/<div id=\"header\"><span id=\"navbar\".*<\/span><\/div>//g' /yourfile
タグは、以下の例のように複数の行にある場合は、次のコマンドを実行してみてください。
<div id="header"><span id="navbar">
... Content ...
</span></div>
sed -i '/<div id=\"header\"><span id=\"navbar\">/,/<\/span><\/div>/g' /yourfile
注:OS X上作業している場合は、(SED -i '')に(SED -i)を変更する必要があります
sedを持つようになります:あなたはので、ここで私は行く、任意のPOSIXシステムでは非常に簡単にインストールすることができますssed
代わりのsed
魔女手段(スーパーSED)で解決
testers="<div id="header"><span id=\"navbar\">... Content ...</span> some stuf </div>"
echo $testers| sed -E 's/<[\w ="/]+>// g'
。
testers="<div id="header"><span id=\"navbar\">... Content ...</span> some stuf </div>"
echo $testers| ssed -R -e 's/<[\w ="/]+>// g'
結果は次のとおりです。
... Content ... some more stuf
乾杯。
ソースがあれば、Android NDKを使用してコンパイルできますか?このサイトでは、サポートライブラリは必要ないとしています。コンパイルされたバイナリを持っていれば、sedコマンドは意図したとおりに動くでしょうか? – user1263513