linux - 如何从 grep 输出中获取提交

标签 linux command-line grep

假设我在 git 存储库中调用以下命令:

git log --oneline -n 10 | grep pattern

它给了我以下输出:

c95383f asdfasdf pattern
3e34762 asdfasdfsd pattern

如何从第二行获取提交哈希,以便可以将其通过管道传输到另一个命令中?

最佳答案

您可以考虑使用 awk 来实现:

git log --oneline -n 10 | awk '/pattern/ {print $1}'

其中 /pattern/ 与一行中的 pattern 匹配,而 {print $1} 打印匹配行中的第一个字段。

关于linux - 如何从 grep 输出中获取提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69888414/

相关文章:

linux - 如何在多线程环境中实现垃圾回收?

python - python "> was unexpected at this time"

mysql - 在 MS Windows 7 中从 Cmd.exe 运行 MySql 脚本

linux - Ansible smtp 邮件发送

linux - 在 Bash 中使用基于 Perl 的重命名命令和查找

regex - 如何在 Linux 中查找和替换正则表达式模式?

linux - 运行 Perl 脚本时在 Text/CSV.pm 上出错

arrays - 使用 grep 检查数组中是否存在多个 var

git - 如何在 Git 历史记录中 grep(搜索)已提交的代码

ruby-on-rails - 如何将 Ruby 变量放入正则表达式代码中