我的任务是使用 grep 查找同一字符连续出现两次的次数。
我正在考虑类似的事情,但它不起作用
grep '[a-zA-z]{2}' *.txt | wc
如何用 grep 完成这样的任务?
答案1
在输入文件中,例如:
富 巴阿尔
我计算了 4次重复出现的字符:oo
、<NL><NL>
和aa
。aa
要计算一行中的重复字符,您可以使用perl
-style 正则表达式,例如(.)(?=\1)
.对于重复换行符,您可以计算空行,除非它是第一行。
你可以近距离接触GNUgrep
grep -Po '^$|(.)(?=\1)' | wc -l
xx
但这会计算第一个空行,因此您可以先将其删除或在除第一个空行之外的空行上添加 a :
sed '1!s/^$/xx/' | grep -Po '(.)(?=\1)' | wc -l