[解決済み] grepを使ってxmlタグの中の情報を見つけるには?
質問事項
私は、xmlファイルからいくつかの情報を抽出するbashスクリプトに取り組んでいます。私は
grep
を使用します。
必要な情報を見つけるために、私は実行します。
grep -oP "<title>(.*)</title>" temp.xml
マッチしたリストを取得し、これには
<title>
タグを使用します。
の中のテキストだけを含むリストを取得するにはどうすればよいですか?
title
タグを使用しますが
がない場合
その
title
タグを grep を使って検索できますか?
どのように解決するのですか?
些細なXPath式で解決できるのに、なぜgrepを使いたがるのかがわからない。
//title/text()
XPath用のコマンドラインツールはたくさんあり、たいていOSにバンドルされています。
回答 Stack Overflowのこの質問 には、そのようなツールが多数掲載されています。
の問題点は
grep
は、テキスト処理のための汎用ツールであり、XMLの構造を一切意識していないということです。非常にシンプルなシナリオの場合、以下のようになります。
動作させる
. ドキュメントが複雑だったり、一回きりの仕事ではなく、何ヶ月も何年も存続するようなスクリプトで使う場合は、結果的に残念なことになるかもしれませんね。
XPathは、文書内の異なる文脈で現れる似たような名前のタグの違いを簡単に見分けることができるようにします。
<article>
<author>
<name>Jon Doe</name>
<title>Chief Editor</title>
</author>
<title>On the Benefits of grep</title>
<publicationDate>2018-02-12</publicationDate>
<text>blah blah blah</text>
</article>
このドキュメントで表現されている記事のタイトルを抽出し
grep
は、ここに掲載されている他の回答を使用した場合、失敗します。技術的には、必要なものを得るために正規表現を書くことはできますが、XPathを使えばもっと簡単です。
/article/title/text()
もし、扱う文書が些細なもので、書式も変わらないことがわかっている場合、あるいは一度きりの作業ですぐに結果を確認できるような場合は
grep
他の方が説明されているように
関連
-
[解決済み] XML ファイルの構造から IMG タグを使用する方法
-
[解決済み] xlsxのエラーです。"レコードを削除しました。エラーを解決しようとすると、「/xl/workbook.xml 部分から名前付き範囲が削除されました」。
-
[解決済み] Linuxで特定のテキストを含むすべてのファイルを検索するにはどうすればよいですか?
-
[解決済み] ワイルドカードマッチングに基づいて、現在のフォルダとサブフォルダ内のすべてのファイルを再帰的に検索するにはどうすればよいですか?
-
[解決済み] すべてのディレクトリとサブディレクトリを再帰的にgrepするにはどうしたらいいですか?
-
[解決済み] Gitの履歴からコミットしたコードをgrep(検索)する方法
-
[解決済み] Linux で grep を使ってファイル名だけを表示するにはどうしたらいいですか?
-
[解決済み] grepによるネガティブマッチング(fooを含まない行にマッチする)
-
[解決済み] 整数の合計を1行に1つずつ表示するシェルコマンド?
-
[解決済み] Colorized grep -- マッチをハイライトしてファイル全体を表示する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XML-スキーマでxsi:typeを属性として定義する方法とは?
-
[解決済み] xmllintのインストール
-
[解決済み] xslt での配列の作成
-
[解決済み] XML ファイルの構造から IMG タグを使用する方法
-
[解決済み] 概念 XML XLST 先行-兄弟-祖先
-
[解決済み】「xmlns」「version」などのSVGパラメータは必要ですか?
-
[解決済み】XMLで"&"をエスケープするにはどうしたらいいですか?重複
-
[解決済み】シェルからXPathワンライナーを実行する方法は?
-
[解決済み】XML属性とXML要素
-
[解決済み] grep -P が効かなくなりました。どうすれば検索を書き換えることができますか?