echo와 비교하여 printf의 특별한 점은 무엇입니까?

echo와 비교하여 printf의 특별한 점은 무엇입니까?

변수의 길이는 다음과 같습니다.

`set num=123456`
`echo $num|wc -c`

7의 출력을 반환합니다(6을 반환한다고 가정).

나도 똑같은 짓을 했어printf

`printf "%s" $num|wc -c`

반환되는 출력은 6입니다(예상대로).

계산할 때 echo널 문자가 고려 됩니까? Printf널 문자로 계산됩니까 ?

무엇이 그렇게 특별한가요 printf?

답변1

가장 간단한 방법은 od -c모든 문자 인쇄와 같은 것을 사용하는 것입니다.

$ echo 123456 | od -c
0000000   1   2   3   4   5   6  \n
0000007
$ printf 123456 | od -c
0000000   1   2   3   4   5   6
0000006

보시다시피 echo추가 콘텐츠가 인쇄되지만 \n인쇄 printf되지는 않습니다. wc -c바이트 수를 계산합니다. 문제의 문자를 사람이 볼 수 있는지 여부는 상관하지 않으며 입력의 바이트 수만 계산합니다.

printfvs 의 특별한 점은 echo다음을 참조하세요.여기알고 싶었던 것보다 더 자세한 내용을 알아보세요.

관련 정보