sed
awk
orに似ていますが、jq
orに似たパス式を使用してコマンドラインでHTMLファイルを編集する方法を探しています。子犬。特に改行、スペース、その他の書式設定の詳細は重要ではありません。
だから私は、「次の<body>
最初のタグ<p>
の間にあるすべてを削除してこのテキストに置き換えてください」と言いたいと思います。または「<b>
それぞれ…を…</b>
に置き換えて、テキストは中央に残してください」と言いたいです。ファイルの残りの部分は変更されていないままにしてください。<p font-style=italic>
</p>
Perl、Python、またはHaskell用のライブラリも機能し、数行のコードで簡単にこれを行うことができます(しかし私はコマンドラインツールを好む)。
背景:フォーマットが厄介で、言語タグが間違っている多くのepubファイルをクリーンアップするために使用したいと思います。
答え1
私はあなたが必要とすることができることを知らず、何かを作るには多くの努力が必要です。まず、次のようにコンパイラを構築する必要があります。ヤクあるいは、コマンドを解析し、それを他のコードに渡して実際に変換を実行するのと同じようなものです。
XLSTうまくいくかもしれませんが、疑わしいです。これは、厳密な構文に対応するには不規則なマークアップ言語であるXMLの上にあります。特にその上にCSSをダンプし始める場合はさらにそうです。
私は選ぶ真珠 HTML::パーサー図書館(またはその友人の一人)ハイパーテキストマークアップ言語モジュールツリー(通常の作業用の特別なツールがある場合)HTML文書を操作して廃棄できる小さな内部データベースツリーに解析します。私はそれを次のことをするために使ってきました:すべてを取り除くiフレームタグとコンテンツを削除します。みんなHTMLタグですが、予想される形式に近いコンテンツをプレーンテキストで印刷するので、非常に複雑です。スクリーンスクレーパーエンジン。
使いやすくシンプルで重い作業をすべて行います。よりCPANページの例。ディストリビューションには、特定のタグ/要素および/または属性を削除するなどの操作を実行するより多くの例も含まれています。
石器時代を覚えなさい真珠Webを支配し、主にHTMLの作業に焦点を当てたPerl Monksは、何十年もの間HTMLツールを磨いてきました。