相关文章推荐
好帅的香菜  ·  No acceptable C ...·  11 月前    · 
斯文的电影票  ·  git 撤销合并-掘金·  1 年前    · 
冷冷的热水瓶  ·  jMeter 里 CSV Data Set ...·  1 年前    · 

-c 统计 Bytes ( 字节数 ) ,并显示文件名

-l 统计行数:使用换行符‘ \n ’作为行结束标志,实际是统计换行符个数

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

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

-L 打印最长行的长度。

-help 显示帮助信息

--version 显示版本信息

wc test.txt

6  24 132test.txt

默认输出:行,字数,字节数

test.txt 内容

Cat test.txt

test1 name1 age1 sex1

test2 name2 age2 sex2

test3 name3 age3 sex3

test4 name4 age4 sex4

test5 name5 age5 sex5

test6 name6 age6 sex6

问题:wc 统计行数时少一行:

因为wc –l是按\n作为行结束符统计行数,所以最后一行如果没有\n的话会统计丢失。

实例:比如,在 windows 下生成同上面 test.txt 相同的文件 testtt.txt,上传到linux下:

cat testtt.txt

test1 name1 age1 sex1

test2 name2 age2 sex2

test3 name3 age3 sex3

test4 name4 age4 sex4

test5 name5 age5 sex5

test6 name6 age6 sex6[wizad@srv26 lmj]$

可以看出结尾有点奇怪。这是因为文件末尾无\n,而是直接用了文件结束符EOF。这样文件使用wc统计就会少一行:

wc -l testtt.txt

5 24 136 testtt.txt

使用管道也不行:

cat testtt.txt | wc -l

为什么linux下没有这样的问题?

因为vim编辑器会自动在文件结尾加上\n,在加上文件结束符EOF。(linux下文本文件主要按处理,所以vim会末行自动加\n)

而对windows文件用dos2unix转化也不行:

[wizad@srv26 lmj]$ dos2unix testtt.txt

dos2unix: converting file testtt.txt toUNIX format ...

[wizad@srv26 lmj]$ wc testtt.txt

5  24131 testtt.txt

可以看出windows文件在linux下还是有兼容问题的。文件字数没变24,byte数少5个是windows下行结束符是回车\r+换行\n。而linux下只是换行\n

Vim二进制可以看到不同,\n显示为.,文件结尾没有

先简单介绍wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出格式:wc file命令参数:-c 统计Bytes数(字节数),并显示文件名-l 统计行数:使用换行符‘\n’作为行结束标志,实际是统计换行符个数-m 统计字符数。这个标志不能与 -c标志一起使用。-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
wc 命令 统计 指定 文件 中的字节数、字数、行数,并将 统计 结果显示输出。利用 wc 指令我们可以计算 文件 的Byte数、字数或是列数,若不指定 文件 名称,或是所给予的 文件 名为“-”,则 wc 指令会从标准输入设备读取数据。 wc 同时也给出所指定 文件 的总 统计 数。 语法格式: wc [参数] [ 文件 ] 常用参数: 统计 字数,或–words:只显示字数。一个字被定义为由空白、跳格或换行字符分隔的字符串 统计 字节数,或–bytes或–chars:只显示Bytes数 统计 行数,或–lines:只显示列数 统计 字符数 打印最长行的长度 –help 显示帮助信息 1 cat no wc oder.txt | wc -l 2 wc -l < no wc oder.txt 3 wc -l no wc oder.txt | gawk ‘{print $1}’ grep 命令 grep -n “” no wc oder.txt | tail -n1 | gawk -F: ‘{print $1}’ sed 命令 sed -n ‘$=’ no wc oder.txt gawk 命令 gawk ‘{print NR}’ no wc oder.txt | tail -n1 gawk ‘END{p
首先,欢迎朋友们光临! 在开发测试阶段,免不了有 文件 传输的问题,今天第二次碰到有个测试小小盆友给我发来一个疑问?为啥你的回盘 文件 比别人给的源 文件 一行 尼?不可否认。。。她肯定是用来 wc -l这个 命令 。我弱弱地打开 文件 看了一眼,最后 一行 数据没有回车。 讲到这里,懂得朋友应该都知道我要说什么了吧。对的, linux wc -l这个 命令 统计 行数不包含最后 一行 没有回车的数据。所以 一行 。再次祝愿下次朋友遇见这个问题了能够看到我的博客。。。
一般的文本 文件 在打开的时候我们会发现结尾都有一个空行,而在使用 wc -l 命令 统计 文本的行数的时候 统计 到的实际结果是除了最后一个空行外的行数。平时也没咋注意这个问题,今天我把最后一个空行删除之后,发现 wc -l 在 统计 的时候竟然 一行 ,个人猜测 wc -l 统计 的应该是换行符的个数,所以最后 一行 没有换行符的话,就会 统计 一行
Linux 系统中的 wc (Word Count) 命令 的功能为 统计 指定 文件 中的字节数、字数、行数,并将 统计 结果显示输出。其主要功能是 统计 指定 文件 中的字节数、字数、行数,并将 统计 结果显示输出。该 命令 统计 指定 文件 中的字节数、字数、行数。如果没有给出 文件 名,则从标准输入读取。 wc 同时也给出所指定 文件 的总 统计 数。 1、 命令 基本格式为: wc [选项] 文件 ... 2、选项参数主要有: -c 统计 字节...
用法: wc [选项]... [ 文件 ]... 或: wc [选项]... --files0-from=F 打印每行的换行符,单词,字节的数量,如果多于一个 文件 ,则打印每个总行数。如果没有 文件 ,或者 文件 位置用“-”表示,则读取标准流。 一个单词是由空白符分隔的非零长的字符序列 下面的操作可能用于
4. 示例 (1)使用 wc 统计 /etc/passwd 行数、单词数和字节数。 40 是行数,45 是单词数,1719 是字节数。(2) wc 命令 比较简单,每个参数使用如下: (3)从 文件 读取输入 文件 名。如果有多个 文件 名,并且希望 wc 从一个 文件 中读取它们,那么使用 -files0-from 选项。这里将 文件 名称必须以 NULL 字符结束写在 文件 fileNames.txt 中。 在 vim 中输入 NULL