Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.1k views
in Technique[技术] by (71.8m points)

linux - Why does the wc command count one more character than expected?

The following is the content stored in my file

This is my Input

So, using wc -c command we can get the number of characters stored in the file.

My expected output for above file that edited by using Vim in Ubuntu is 16. But, wc -c command returns 17.

Why is the output like this? There isn't even a carriage return at end of line. So, what is the 17th character?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Of course you had enter. Maybe you can't see it. Consider these two examples:

echo -n "This is my Input" | wc -c
16

Because -n is for avoiding enter, but

echo "This is my Input" | wc -c
17

Look at this example too see the new line:

enter image description here

How to see newline?

echo "This is my Input" | od -c

od dumps files in octal and other formats. -c selects ASCII characters or backslash escapes.

And here is an example for file and usage of od:

enter image description here


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...