awk取manifest的一個字段

  </project>
  <project name="platform/compatibility/cdd" path="compatibility/cdd" revision="fd857aaf4f0e0e2a00f16ae90a7c6789c39bd4a0" upstream="master"/>
  <project name="platform/cts" path="cts" revision="316ebe0cd6ee45fa0e20ce658e6dd9e8484ab0de" upstream="master"/>
  <project name="platform/dalvik" path="dalvik" revision="cd4ae285f5141aeed13ed87f4fa9db7ad2f0132f" upstream="master"/>
  <project name="platform/development" path="development" revision="3c33bc27d0d1c2082ce44ec880c6b92e980d50c5" upstream="master"/>

需要取path後面的庫名稱,如compatibility/cdd

命令:awk '/path/{split($0,a,"(=\")|(\" )");print a[4]}' manifest.xml >> delete_except_git.list

加path代表xml文件中包含path的行

(=\")|(\" ) 

\是轉義字符,此處取="或者"分割的數組中的內容,這裏分成了以下九塊

  <project name    platform/compatibility/cdd     path    compatibility/cdd    revision    fd857aaf4f0e0e2a00f16ae90a7c6789c39bd4a0    upstream    master    />

在包含path的行中,

 

( )   將( 和 ) 之間的表達式定義爲“組”(group),並且將匹配這個表達式的字符保存到一個臨時區域(一個正則表達式中最多可以保存9個),它們可以用 \1 到\9 的符號來引用。

  將兩個匹配條件進行邏輯“或”(Or)運算。例如正則表達式(him|her) 匹配"it belongs to him"和"it belongs to her",但是不能匹配"it belongs to them."。注意:這個元字符不是所有的軟件都支持的。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章