use*_*327 4 regex shell grep find
我正在寻找一种从多个文件中提取“尖叫蛇案例”字符串的方法。
Screaming snake case 是由下划线分隔的大写单词。正则表达式将是([A-Z]*_?[A-Z]*)*.
现在我正在寻找一种在多个文件中查找此类匹配字符串的方法。我希望 grep 或 find 有帮助吗?
我拥有的:
例如:
Some text WITH some SNAKE_CASE words.
Run Code Online (Sandbox Code Playgroud)
输出应该是一个列表,如:
WITH
SNAKE_CASE
Run Code Online (Sandbox Code Playgroud)
用例是,snake case 词被用作 i18n 键来维护属性文件,但没有 IDE 支持来保持所有这些同步。
我现在使用的是:
find . -name "*.js" -exec grep -oP '\b[A-Z]+(_[A-Z]+)*\b' {} + | cut -d':' -f2 | sort | uniq
Run Code Online (Sandbox Code Playgroud)
感谢你的支持
认为你是这个意思,
grep -oP '\b[A-Z]+(_[A-Z]+)*\b' file
Run Code Online (Sandbox Code Playgroud)
只需通过上面的正则表达式来查找命令。
find FOLDER -type f -exec grep -oP '\b[A-Z]+(_[A-Z]+)*\b' {} +
Run Code Online (Sandbox Code Playgroud)