通过awk或grep计算特定char的出现次数

VAR*_*121 0 awk grep

我有这样的数据,每行都有固定数量的字符(8)

RYRYRYRR
YRRRRYRR
YYRRRRRY
RYYRRRRR
RRRRRRRY
RYRRRRRY
Run Code Online (Sandbox Code Playgroud)

我需要分别输出"Y"和"R"的数量,如下所示.

RYRYRYRR 3 5
YRRRRYRR 2 6
YYRRRRRY 3 5
Run Code Online (Sandbox Code Playgroud)

我已经尝试过使用grep的脚本,如下所示.

grep -c'Y'test.dat正在打印一些像13这样的数字

ric*_*ici 5

试试这个:

awk '{print $0, gsub("Y", "Y"), gsub("R", "R")}'
Run Code Online (Sandbox Code Playgroud)

在awk中,gsub返回成功替换的数量.