2012-04-23 6 views

答えて

2

これはあなたのために働くかもしれない:

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.これは開始タグと終了タグが同じ行にあることを期待しています。

0

sedに従って動作するはずです。
ssed(super sed)を試すことができます。

+0

ソースがあれば、Android NDKを使用してコンパイルできますか?このサイトでは、サポートライブラリは必要ないとしています。コンパイルされたバイナリを持っていれば、sedコマンドは意図したとおりに動くでしょうか? – user1263513

0

ファイルから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)を変更する必要があります

0

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 

乾杯。

関連する問題