我正在寻找一种提取"尖叫蛇案的方法"来自多个文件的字符串。
尖叫的蛇案例是用下划线分隔的大写单词。
正则表达式为([A-Z]*_?[A-Z]*)*
。
现在我正在寻找一种在多个文件中查找匹配字符串的方法。 我希望grep或者find能帮忙吗?
我有什么:
例如:
Some text WITH some SNAKE_CASE words.
输出应该是一个列表:
WITH
SNAKE_CASE
这个用例是,蛇案词被用作i18n键来维护属性文件,但是没有IDE支持来保持所有这些文件同步。
我现在使用的是:
find . -name "*.js" -exec grep -oP '\b[A-Z]+(_[A-Z]+)*\b' {} + | cut -d':' -f2 | sort | uniq
感谢您的支持
答案 0 :(得分:4)
认为你的意思是,
grep -oP '\b[A-Z]+(_[A-Z]+)*\b' file
只需将上述正则表达式传递给find命令。
find FOLDER -type f -exec grep -oP '\b[A-Z]+(_[A-Z]+)*\b' {} +