我有写grep的问题,只应该grep那些只包含大写字符的单词。
例如我有文件:file1.txt
Abc AAA
ADFSD
F
AAAAx
输出应该是:
Abc AAA
ADFSD
F
感谢您的任何建议。
答案 0 :(得分:7)
这个egrep应该有效:
egrep '\b[A-Z]+\b' file
答案 1 :(得分:6)
你可以使用:
grep -E '\b[[:upper:]]+\b' file1.txt
也就是说,查找仅由大写字母组成的整个单词。
答案 2 :(得分:2)
这将产生所需的结果,
egrep '\b[A-Z]+\b' file1.txt
结果
Abc AAA
ADFSD
F
答案 3 :(得分:1)
如果您的输入包含非ASCII字符,则可能需要使用\p{Lu}
而不是[A-Z]
:
grep -P '\b\p{Lu}+\b' file
对于
LONDON
Paris
MÜNCHEN Berlin
这将返回
LONDON
MÜNCHEN Berlin
您可以手动列出大部分内容,正如@ Skippy-le-grand-gourou所说,egrep将[A-Z]
扩展为重音字母,但是使用\p{Lu}
,您不需要处理"Since June 2017, however, capital ẞ is accepted as an alternative in the all-caps style"
答案 4 :(得分:1)
HELLO
此结果由大写/数字/ _组成的单词(例如NUMBER10
,RLIMIT_DATA
,eDw
)。
但是,这也接受With Sheets("xRef-Categories")
Me.cboCategoryEdit1.List = .Range("A2" , .Range("A" & .Rows.Count).End(xlUp)).Value
End With
。
答案 5 :(得分:0)
GNU grep支持POSIX模式,因此您只需执行以下操作:
grep -e '[[:upper:]]' file1.txt
答案 6 :(得分:0)
grep' \< [A-Z] *>' FILE1.TXT