我試圖編寫一個grep(或egrep)命令,它將查找並打印包含相同的小寫字母連續三次的「words.txt」中的任何行。三次出現的字母可能會連續出現(如在「mooo」中)或被一個或多個空格分隔(如「x x x」),但不會被任何其他字符分隔。使用grep檢測重複的字符
words.txt包含:
The monster said "grrr"!
He lived in an igloo only in the winter.
He looked like an aardvark.
這就是我認爲的命令應該是:
grep -E '\b[^ ]*[[:alpha:]]{3}[^ ]*\b' 'words.txt'
雖然我知道這是不對的,但我不知道足夠的語法弄明白。使用grep,有人可以幫助我嗎?
是的,確實有效。我清楚地意識到[[:lower:]]的意義,「之前」和「之後」都記得它。 * \ 1意味着一個被記住的角色? – Unknown
@BernieMacinflor:我添加了解釋。 '\ 1'表示第一個記住的字符,'_ *'表示任意數量的空格。 – choroba
我在解釋中使用了'_'而不是空格,因爲我無法獲取反引號的空格。 – choroba