ed(1) を使用して HTML タグ内で編集

ed(1) を使用して HTML タグ内で編集

私の謙虚さを考えるhello.htmlファイル、強力なエディタで編集:

$ ed hello.html 
28
,p
<title>Hello world!</title>

編集への一般的なアプローチは何ですか?タイトルHTMLタグ(HTMLタグ内で編集できる場合は良いでしょう)?

タグ内で正規表現の一致を試みました。

s/>.*/>My new title/p
<title>My new title
u
.
<title>Hello world!</title>

しかし悲しいことに、私はラベルを切ったことがわかります。 (そしてラベルを印刷するのはあまりにも多くのことでした)</title>毎回一口ずつ! )。

詳細については、Pascalのソフトウェアツールページを174で検索しました。https://archive.org/details/softwaretoolsinp00kern/page/174/mode/1up?view=theaterページ - そして見つかった&到達するのに役立つ特殊文字真ん中文章:

s/world/& again/p
<title>Hello world again!</title>

しかし、単に中間に到達するのではなく、中間を交換したいので、これは正しいことではありません。

ベストアンサー1

[^<]置換を使用して、置換を除くすべての文字を.一致させることができます<

28
ed> ,n
1       <title>Hello world!</title>
ed> s/>[^<]*/>new title/
ed> ,n
1       <title>new title</title>

<もう1つのアプローチは、各文字の後に改行文字を挿入または>変更したいものが独自の行になるようにすることです。c以下を使用してこれを変更できますc

28
ed> ,n
1       <title>Hello world!</title>
ed> s/[<>]/\
&\
/g
ed> ,n
1
2       <
3       title
4       >
5       Hello world!
6       <
7       /title
8       >
9
ed> 5c
new title
.
ed> ,n
1
2       <
3       title
4       >
5       new title
6       <
7       /title
8       >
9
ed> 1,9j
ed> ,n
1       <title>new title</title>

おすすめ記事