2

このすべてのタグとシンボルの間で次のタイトル テキストを取得するにはどうすればよいですか?

私がつかむ必要があるもの:

Some Title Here v1.2.3 Some Other Description About the Title in Here

ソースコードの例:

<body><pre>=============================================================
Some Title Here v1.2.3 Some Other Description About the Title in Here
=============================================================

some other data here but I don't care about it ...

</pre></body></html>

私はこれを試してみましたが、プレタグの前でも上部全体を取得しますが、次の部分は = シンボルも取得することを除いて正常に動作するようです。

sed -n '/<pre>=/,/=/p

上記の sed コードの結果は次のとおりです。

<body><pre>=============================================================
Some Title Here v1.2.3 Some Other Description About the Title in Here
=============================================================

これに関するフィードバックは歓迎されます。どうもありがとう、そしていつものように、StackOverflow は Q と A にとって最高のコミュニティです =)

4

3 に答える 3

3

使用する1つの方法GNU sed

sed -n '/<pre>=/,/=/ { //!p }' file.txt

結果:

Some Title Here v1.2.3 Some Other Description About the Title in Here

説明:

//!psed最後の一致を無視するように指示するだけです。

于 2012-10-11T05:28:42.370 に答える
0

OPのソリューションの更新:

$ sed -n '/<pre>=/,/=/{/=$/d;p;}' file 
Some Title Here v1.2.3 Some Other Description About the Title in Here

選択した行の範囲から、= で終わる行を削除すると、その間に行が残ります。

于 2012-10-11T05:37:40.247 に答える
0

これはうまくいくかもしれません(GNU sed):

sed '/^<body><pre>=\+$/,/^=\+$/!d;//d' file
于 2012-10-11T05:45:11.483 に答える