Se a sua string não contiver espaços, você pode substituir o _
por um espaço (com tr
( translate character ) ou sed
( editor de fluxo )) e use wc
( contagem de palavras ) para contar as palavras:
$ echo TABLE_PERSON | tr '_' ' ' | wc -w
2
ou
$ echo TABLE_PERSON | sed 's/_/ /' | wc -w
2
se a sua cadeia contiver espaços que não tenham de ser considerados como um separador (por exemplo, se "TABLE_PERSON 2"
contar como duas palavras separadas por _
: TABLE
e PERSON 2
), pode primeiro remover os espaços com qualquer caractere (por exemplo, -
) e use o mesmo comando:
$ echo 'TABLE_PERSON 2' | tr ' ' '-' | tr '_' ' ' | wc -w
2