shell学习二十二天----计算行数,字数以及字符数

计算行数,字数以及字符数

wc命令可能是linux工具集里最古老也最简单的工具程序.wc的默认输出是一行报告,包括行数,字数以及字节数:

echo this is a test of the emergency broadcast system | wc

      1       9      49

如果要求仅输出部分结果,可以使用的选项有:-c(字节数),-l(行数),-w(字数);

echo test one two three | wc -c

19

echo test one two three | wc -l

1

echo test one two three | wc -w

4

-c选项原本是表示字符数,但因为有多字节字符集的编码存在----像是UTF-8,因此在当前系统上,字节数已不再等同于字符数了,也因此,posix出现了-m选项,用以计算多字节字符,8位字符数据而言,它是等同于-c.

 

虽然wc最长处理的是来自于管道的输入数据,但它也接受命令行的文件参数,可以生成一行一个结果,再附上报告:计算两个文件里的数据

输入命令:wc /etc/passwd /etc/group

输出结果:

40   61 1804 /etc/passwd

64   64  874 /etc/group

104  125 2678 总用量

wc的现代版会随locale而有不同结果:将环境变量LC_CTYPE设为想用的locale,会影响wc把字节序列解释为字符或单词分隔器.

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

wc -l demo.txt  | awk -F" " '{print$1}'

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

 

补充:wc所有选项

-c:统计字节数

-l:统计行数

-m:统计字符数.这个标志不能与-c标志一起使用

-w:统计字数.一个字被定义为由空白,挑个或换行字符分隔的字符串.

-L:打印最常行的长度

-help:显示帮助信息

--version:显示版本信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值