強い打撃を使用し、
文書:
<?xml version="1.0" encoding="UTF-8"?>
<blah>
<blah1 path="er" name="andy" remote="origin" branch="master" tag="true" />
<blah1 path="er/er1" name="Roger" remote="origin" branch="childbranch" tag="true" />
<blah1 path="er/er2" name="Steven" remote="origin" branch="master" tag="true" />
</blah>
私は以下を試しました:
grep -i 'name="andy" remote="origin" branch=".*\"' <filename>
ただし、行全体を返します。
<blah1 path="er" name="andy" remote="origin" branch="master" tag="true" />
以下に基づいて行を一致させたい。
name="andy"
私はそれが戻ってほしいと思います:
master
ベストアンサー1
XMLパーサーを使用してXMLデータを解析します。そしてxmlstarletこれは単にXPathの練習になります。
$ branch=$(xmlstarlet sel -t -v '//blah1[@name="andy"]/@branch' file.xml)
$ echo $branch
master