linux手册中的解释:
WC:wc - print newline, word, and byte counts for each file
参数及含义
参数 | 含义 |
---|---|
-c | print the byte counts统计字节数 |
-l | print the newline counts:统计行数 |
-m | print the character counts:将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果 |
-w | print the word counts:统计字数 |
举例
13 41 251 251 test.sh
doyoo@doyoo-System-Product-Name:~$ wc -lcmw test.sh
13 41 251 251 test.sh
意思是:13行,41字,251个字节
doyoo@doyoo-System-Product-Name:~$ ls -l test.sh
-rwxr-xr-x 1 doyoo doyoo 251 2012-09-05 10:50 test.sh
举一反三
刚才做一个操作,需要把一个文件的行数存在另一个文件里。可是这个wc还会同时输出文件名。咋办?简单,用管道处理一下OK啦~
wc
-l demo.txt
|
awk
'BEGIN{FS=" "}{print $1}'
这样,我们就把想要的文件行数给取到了,至于存在另一个文件里,我们可以把awk的print结果重定向到文件啊,哈哈~~
重要提示
用wc处理文件的时候,一定要在文件末尾存在换行符,否则统计的行数是不正确的。嗯。。当然多几个换行符也没问题
echo
"UNIX"
|
wc
-l
# 1
echo -n "UNIX" | wc -l
# 0
echo "UNIX\n\n\n" | wc -l
# 1
# 1
echo -n "UNIX" | wc -l
# 0
echo "UNIX\n\n\n" | wc -l
# 1