我正在嘗試用快速評論替換檔案中的 doxygen 評論。
eg:/// \param foo應該變成/// - Parameter foo:foo
到目前為止我有
gsed -i 's/\\param/\- Parameter/g' my_file或者perl -pe 's/\\param/\- Parameter/g'
我想用(foo:)替換word我的運算式后的以下 (foo)word:
我沒有找到一個好的表達方式。理想情況下,適用于 Linux 和 macOS 的東西
uj5u.com熱心網友回復:
$1在 perl 中,您可以使用(第一個括號)捕獲并放回單詞。
s/\\param\s (. )/- Parameter $1:/g
. 將捕獲該行的其余部分。如果這是您不想要的,并且只想捕獲第一個單詞,您可以使用\S or\w 或與您要捕獲的字符匹配的任何其他字符類,例如[a-z_-] .
在 sed 中可能是\1.
uj5u.com熱心網友回復:
使用sed
$ sed -E 's/\\(param)( [^ ]*)/- \u\1eter\2:/' input_file
/// - Parameter foo:
uj5u.com熱心網友回復:
您可以將模式與單個捕獲組一起使用,并\1在替換中使用該組。
sed -E 's/\\param[[:space:]] ([^[:space:]] )/- Parameter \1:/g' my_file
模式匹配:
\\param匹配\param[[:space:]]匹配 1 個空格([^[:space:]] )捕獲組 1,匹配 1 個非空白字符
輸出
- Parameter foo:
如果您驗證了輸出,那么您可以更改sed -E 為sed -Ei進行替換。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/506218.html
上一篇:遍歷陣列忽略\n
