bash - grep? sed?从变量中删除文本行
我有一个充满文本的变量,它实际上是一个 git 日志。 git log 的每一行都有一个 id(JIRA id),可以是 IPAD 或 MIPO。
我想过滤 git 输出并只显示一个或另一个
到目前为止我有这个:
RAW_NOTES=`git log $LAST_REVISION..master --pretty=format:"%h %ar %s"`
echo "Raw git notes: $RAW_NOTES"
然后我可以使用但是...来过滤它
RELEASE_NOTES=`echo "$RAW_NOTES" | grep "$JIRA_KEY"`
echo $RELEASE_NOTES
。 RAW_NOTES 有很好的格式和换行符,RELEASE_NOTES 丢失了我所有的换行符。
如何保留格式或使用其他文本过滤命令来删除某些匹配的文本行。
示例输入:
IPAD did this
IPAD did that
MIPO Im another comment
IPAD something else
IPAD bla bla
MIPO hello
MIPO doodle do
我希望输出为
MIPO Im another comment
MIPO hello
MIPO doodle do
谢谢
I have a variable full of text, its actually a git log. Each line of the git log has an id (a JIRA id), which is either IPAD or MIPO.
I want to filter the git output and only show one or the other
So far I have this:
RAW_NOTES=`git log $LAST_REVISION..master --pretty=format:"%h %ar %s"`
echo "Raw git notes: $RAW_NOTES"
then i can filter it using
RELEASE_NOTES=`echo "$RAW_NOTES" | grep "$JIRA_KEY"`
echo $RELEASE_NOTES
However.... RAW_NOTES has nice formatting and line breaks, RELEASE_NOTES loses all my line breaks.
How can I either preserve formatting, or use some other text filtering command to remove certain lines of text that matches.
example input:
IPAD did this
IPAD did that
MIPO Im another comment
IPAD something else
IPAD bla bla
MIPO hello
MIPO doodle do
and i want the output to be
MIPO Im another comment
MIPO hello
MIPO doodle do
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
git log 提供过滤功能,如下所示:
git log provides filtering like so:
尝试用引号进行回显,如下所示:
Try echoing with quotes, like this:
根据您的示例输入,您可以尝试其中任何一个 -
Based on your sample input you can try anyone of these -