如何从多个文件中提取尖叫蛇案例字符串列表?

How to extract a list of screaming snake case strings out of multiple files?

我正在寻找一种从多个文件中提取 "screaming snake case" 字符串的方法。

Screaming snake 的大小写是由下划线分隔的大写单词。 正则表达式为 ([A-Z]*_?[A-Z]*)*.

现在我正在寻找一种在多个文件中查找此类匹配字符串的方法。 我希望 grep 或 find 能有所帮助?

我有:

例如:

Some text WITH some SNAKE_CASE words.

输出应该是这样的列表:

WITH
SNAKE_CASE

这个用例是,snake case 单词用作 i18n 键来维护属性文件,但没有 IDE 支持使所有这些保持同步。

我现在用的是:

find . -name "*.js" -exec grep -oP '\b[A-Z]+(_[A-Z]+)*\b' {} + | cut -d':' -f2 | sort | uniq

感谢支持

我觉得你是这个意思,

grep -oP '\b[A-Z]+(_[A-Z]+)*\b' file

只需通过上面的正则表达式即可找到命令。

find FOLDER -type f -exec grep -oP '\b[A-Z]+(_[A-Z]+)*\b' {} +