我仍然感到困惑,因为我在自动执行git push pull并编写帖子接收时出现了问题,下面提到的来自开发人员端的行存储提交日志存储在文件中,但它做错的是仅存储FE=。我想要它商店FE='anything that developer write here'。var_custom_FE_log="$( git log -1 --no-merges $branch | grep -o -P 'FE=.*? ' )
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
如果要匹配FE=value,则应删除-ogrep中的标志。比较:
$grep -o -P 'FE=.*?' <<< "FE=some text here"
FE=
$grep -P 'FE=.*?' <<< "FE=some text here"
FE=some text here
如果每行只有一个声明,则无需使用惰性量词.*?。您可以使用.*和删除-P标志:
$grep 'FE=.*' <<< "FE=some text here"
FE=some text here
人到中年有点甜
TA贡献1895条经验 获得超7个赞
在您的代码中,我看不到任何天生的错误。grep将返回一个string FE=
,后跟(可选)非空白字符,然后是一个空格。例如,如果紧接在后面,则有一个空格FE=
,例如
xxxx FE= anything that developer write here
您将只获得FE = (带有尾随空格),而该行
xxxx FE=anything that developer write here
会给你FE =任何东西 (再加上尾随空格)。
顺便说一句,虽然您的-P标志没有错,但-E在您的情况下就足够了。
- 2 回答
- 0 关注
- 390 浏览
添加回答
举报
0/150
提交
取消