Arch Linux 篩出 AUR Debug Package 的方法

這篇來介紹在 Arch Linux 當中篩出 Debug 套件的方法。

因為 makepkg 設定不當,發現在安裝 AUR Package 的時候會自己把 Debug 套件裝起來。其實這也是 makepkg 的預設 OPTIONS,以前用 yay 的時候並不會安裝 Debug 套件,但後來證實那是個 Bug……

剛好也藉此來學習 grepawk 的使用方式。

先講結論,我最後弄出來的指令長這個樣子:

yay -Qs | grep -E "([A-Za-z0-9\-]-debug)" | awk 'BEGIN{FS="[/ ]"} {print $2}' | yay -R -

yay 是我用的 AUR Helper,-Qs 代表查詢在本地安裝的所有套件,-R代表移除指定套件。

grep 的部份,為了要篩選出 Debug 套件的描述,使用 -E 代表可以使用延伸的正規表達式(例如分組等),([A-Za-z0-9\-]-debug) 就是我在 regex101 測試出來的結果。

awk 的部份,使用BEGIN{FS="[/ ]"}表示「要從每一行的開始處使用自訂的分隔符號」,這邊有看過 pacman 資訊的人應該都會知道套件名稱的顯示方式是 <Repository>/<PackageName> <Version>,所以分隔符號就是 / 和空格兩種。

最後用 print 把第二個欄位的參數給印出來({print $2}),並丟給 yay 處理,這樣就可以批次移除 Debug 套件了。執行結果如下圖:

這樣應該就大功告成了。

參考資料:

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *