shell-wc

13 篇文章 0 订阅
6 篇文章 0 订阅

一、com

统计指定文件中的字节数、字数、行数,并将统计结果显示输出。但它只能统计数量,至于文件大小,不能统计。
其主要功能是统计指定文件中的字节数、字数、行数、总统计数,并将统计结果显示输出。
可以把标准输入和其他命令的输出作为输入。

二、syntax

wc [选项] 文件 …
-c 统计字节数。

-l 统计行数。

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

-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

-L 打印最长行的长度。

-help 显示帮助信息并退出

–version 显示版本信息并退出

三、usage

1.标准输入

直接输入wc,就进入交互页面,用CTRL+D提交

linux中关于标准输入中涉及EOF的处理方式

标准输入设备是行缓冲的,当从键盘上输入字符串,输入的字符串会首先被送到输入缓冲区中存储,当铵下回车键后才会去检测输入缓冲区中是否有了数据(也就是说fgets,fgetchar等函数这个时候才去从缓冲区中读数据).我们可以把输入缓冲区理解为文件,那么对于这个文件来说,它也有结束的时候,输入函数在从缓冲区中读文件的时候也会去检测有没有流结束标志(EOF),这种标志是通过Ctrl+d产生的,在按下Ctrl+d之后立即响应.如果在此之前有输入字符,则Ctrl+d就相当于回车,即把输入的内容送到输入缓冲区供读取使用,此时Ctrl+d不作为流结束符使用,下次按下的Ctrl+d则作为流结束标志.如果按下Ctrl+d之前没有输入任何数据,刚Ctrl+d作为流结束标志,表示标准输入设备对应的文件结束.
那么,如果真的想输入Ctrl-D怎么办?这时必须先按下Ctrl-V,然后就可以输入Ctrl-D,系统就不会认为这是EOF信号.Ctrl-V表示按"字面含义"解读下一个输入,要是想按"字面含义"输入Ctrl-V,连续输入两次就行了.
注:Linux中按下Ctrl-Z,表示将该进程中断,在后台挂起,用fg命令可以重新切回到前台;按下Ctrl-C表示终止该进程.

wc filename

在这里插入图片描述
行数、单词数、字节数、文件名

wc -c

在这里插入图片描述

如图中显示,该文件显示有24个字节,这是因为包括了空格符以及每行的换行符。

我们可以通过命令cat -A test.txt查看换行符,如下图所示:
在这里插入图片描述

wc -l

wc -m

wc -w

word,单词书,这里的单词包括英文单词和空白(空格、制表)分割的汉字、数字。总之,空白(空格、制表)分割的就算。

Administrator@WIN-DFIIOPTMTL8 MINGW64 /e/develop/shell_test
$ cat wc.test.txt
1 word 汉字

Administrator@WIN-DFIIOPTMTL8 MINGW64 /e/develop/shell_test
$ wc -w wc.test.txt
3 wc.test.txt #3个,上面的汉字算是一个

Administrator@WIN-DFIIOPTMTL8 MINGW64 /e/develop/shell_test
$ awk '{sub(/1 /,"");print $0 > FILENAME}' wc.test.txt #把 1空格 删除

Administrator@WIN-DFIIOPTMTL8 MINGW64 /e/develop/shell_test
$ cat wc.test.txt
word 汉字

Administrator@WIN-DFIIOPTMTL8 MINGW64 /e/develop/shell_test
$ wc -w wc.test.txt
2 wc.test.txt	#2个,说明空格分割的数字也算一个单词

wc -L

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值