linux中wc命令

下面让我们来简单的看一下其支持的参数及其代表的含义。

参数及含义

参数含义
-c显示文件的Bytes数(字节数)
-l将每个文件的行数及文件名输出到屏幕上
-m将每个文件的字符数及文件名输出到屏幕上,如果当前系统不支持多字节字符其将显示与-c参数相同的结果
-w将每个文件含有多少个词及文件名输出到屏幕上

举例

Welcome to xiaoxiaozi.com
欢迎来到这里
wc  -cwl demo.txt
#2       4      39 demo.txt  顺序依次是 l w c

强调

这里面大家要注意一点。m和c参数是不能共存的,只有一个可以起作用,看哪个参数在后面。例如:

wc  -c demo.txt 
#39 demo.txt
wc  -m demo.txt
#33 demo.txt
wc  -cml demo.txt
#2      33 demo.txt
wc  -cm demo.txt
#33 demo.txt  结果为m的值哦

举一反三

刚才做一个操作,需要把一个文件的行数存在另一个文件里。可是这个wc还会同时输出文件名。咋办?简单,用管道处理一下OK啦~

wc  -l demo.txt  |  awk  'BEGIN{FS=" "}{print $1}'

这样,我们就把想要的文件行数给取到了,至于存在另一个文件里,我们可以把awk的print结果重定向到文件啊,哈哈~~

重要提示

用wc处理文件的时候,一定要在文件末尾存在换行符,否则统计的行数是不正确的。嗯。。当然多几个换行符是没有问题滴,嗯。。

wc wc1.txt
3  5 16 wc1.txt
输出信息依次是:行数 字数 字节数 文件名称。

再具体点,单个统计。

wc -m filename:显示一个文件的字符数
wc -l filename:显示一个文件的行数
wc -L filename:显示一个文件中的最长行的长度
wc -w filename:显示一个文件的字数

需要留意的:貌似wc统计的行算是用换行符来确定的。就是说最后一行要有换行符,最后wc的行数才是正确的,否则将会少一行。

为了说明这个问题,看一个perl的测试:

perl -e 'print "a"'|wc
      0       1       1
perl -e 'print "a\n"'|wc
      1       1       2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值