XMLまたはテキストファイルからURLを抽出する方法

XMLまたはテキストファイルからURLを抽出する方法

私のXMLファイル

<settings version="2">
    <setting id="TimeShift" default="true">0</setting>
    <setting id="Override" default="true">false</setting>
    <setting id="Cache">true</setting>
    <setting id="Path">/storage/</setting>
    <setting id="PathType">0</setting>
    <setting id="Url1">http://localhost:8080/main.php?value1=abcd-1234&value2=OqUy1cHm&type=post</setting>
    <setting id="startNum">1</setting>
</settings>

変数URL値を抽出する必要があります。 sedコマンドとgrepコマンドを試しましたが、結果はありません。どのコマンドを使用する必要がありますか?

答え1

URLが実際に正しくエンコードされていると仮定します(そうしないと、一部のXMLパーサーが破損する可能性があります。両方でなけれ&ばなりません&amp;)。

$ xmlstarlet sel -t -v '/settings/setting[@id = "Url1"]' -nl file.xml
http://localhost:8080/main.php?value1=abcd-1234&amp;value2=OqUy1cHm&amp;type=post

これは、属性がある文書ノードの値を取得するために使用されますxmlstarlet/settings/settingidUrl1

関連情報