私の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パーサーが破損する可能性があります。両方でなけれ&
ばなりません&
)。
$ xmlstarlet sel -t -v '/settings/setting[@id = "Url1"]' -nl file.xml
http://localhost:8080/main.php?value1=abcd-1234&value2=OqUy1cHm&type=post
これは、属性がある文書ノードの値を取得するために使用されますxmlstarlet
。/settings/setting
id
Url1