如何在 Linux 中打印一组与正则表达式匹配的文本?

如何在 Linux 中打印一组与正则表达式匹配的文本?

我想打印与正则表达式匹配的文本中的几个组。如何在 Linux 命令行中执行此操作?

Linux 中还有哪些其他用于文本处理的工具?

答案1

我经常为此目的使用的两个程序是sedawk

grep有其他风味,例如egrepfgrep这会改变给定模式的使用方式。

Unix Toolbox上有几个示例sedawk以及更多资源的链接!

答案2

Perl!

perl -nE '/foo (\w+) bar/ and say "group 1 is $1";'

答案3

一种方法是通过 lang 控制台,例如 Ruby 或 Node.js。两者都可以访问文件系统并使用它执行大量操作。由于我来自前端 Web 世界,我个人认为 Node.js 的语法易于使用。

相关内容