c-
tr - translate (apaga ou substitui characteres)
usando so o tr, sabe-se que ele substitui um character por outro
____________________________________________________________________________________________________________
echo abcde12345 | tr 3 4
resulta em:
abcde12445
logo, tr substitui o character especificado na String por outro.
echo abcde12345 | tr 3 z
substitui 3 por z: abcde12z45
se tentar substituir um character por uma sequencia de charcteres, somente o primeiro character sera utilizado:
echo abcde12345 | tr 3 compotas -> abcde 12c45
____________________________________________________________________________________________________________
echo abcde12345 | tr 3 4 | grep -v 3
grep -v (invert the match) retorna a sequencia que nao tiver o character especificado. em echo abcde12345 | tr 3 4 | grep -v 3, ele retorna
abcde12445
por quê? porque o '3' nao faz mais parte de 'abcde12345' apos tr 3 4.
mas 'abcde12345 | tr 3 4 | grep -v a'
nao retorna nada porque o 'a' faz parte de abcde12345
____________________________________________________________________________________________________________
echo abcde12345 | tr 3 4 | grep -v 3 | wc -l
wc - word count. é um comando que lê input e mostra algum dado quantitativo.
wc -l : mostra o número de linhas
wc -c : mostra o número de bytes
wc -m : mostra o número de caracteres
wc -w : mostra o número de palavras
logo, 'echo abcde12345 | tr 3 4 | grep -v 3 | wc -l ' ira exibir 1, pois o comando tem so 1 linha.
como o comando é puramente estatístico, ele nao é afetado pelos comandos anteriores ao pipe.