用正则表达式匹配连续的重叠组

Match successive overlapping groups with regex

我有这样的字符串:

TAACCCTAACCCTAACCCTA

我能做到

$ echo TAACCCTAACCCTAACCCTA | grep -Eo "[ACGT]{4}"
TAAC
CCTA
ACCC
TAAC
CCTA

但我想:

TAAC
AACC
ACCC
CCCT
CCTA
...
...

这一定与非贪婪和前瞻或后视有关,但我需要一些帮助。

echo TAACCCTAACCCTAACCCTA | awk '{while (d++ < length) print substr([=10=], d, 4)}'