linux wc命令

来源:互联网 发布:灵云7.1手写输入软件 编辑:程序博客网 时间:2024/05/20 01:45

linux手册中的解释:

WC:wc - print newline, word, and byte counts for each file

参数及含义参数含义-cprint the byte counts统计字节数-lprint the newline counts:统计行数-m print the character counts:将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果-wprint the word counts:统计字数

举例

doyoo@doyoo-System-Product-Name:~$ wc -clmw test.sh
 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