wc命令用于计算字数。
利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据。
wc [-clw][--help][--version][文件...]
参数:
在默认的情况下,wc将计算指定文件的行数、字数,以及字节数。使用的命令为:wc testfile
先查看testfile文件的内容,可以看到:
# cat testfile
Linux networks are becoming more and more common, but scurity is often an overlooked
issue. Unfortunately, in today’s environment all networks are potential hacker targets,
fro0m tp-secret military research networks to small home LANs.
Linux Network Securty focuses on securing Linux in a networked environment, where the
security of the entire network needs to be considered rather than just isolated machines.
It uses a mix of theory and practicl techniques to teach administrators how to install and
use security applications, as well as how the applcations work and why they are necesary.
使用 wc统计,结果如下:
# wc testfile //testfile文件的统计信息
3 92 598 testfile //testfile文件的行数为3、单词数92、字节数598
其中,3 个数字分别表示testfile文件的行数、单词数,以及该文件的字节数。
如果想同时统计多个文件的信息,例如同时统计testfile、testfile_1、testfile_2,可使用如下命令:
# wc testfile testfile_1 testfile_2 //统计三个文件的信息
输出结果如下:
# wc testfile testfile_1 testfile_2 //统计三个文件的信息
3 92 598 testfile //第一个文件行数为3、单词数92、字节数598
9 18 78 testfile_1 //第二个文件的行数为9、单词数18、字节数78
3 6 32 testfile_2 //第三个文件的行数为3、单词数6、字节数32
15 116 708 总用量 //三个文件总共的行数为15、单词数116、字节数708
cut命令用于显示每行从开头算起 num1 到 num2 的文字。
cut [-bn] [file]
cut [-c] [file]
cut [-df] [file]
参数:
当你执行who命令时,会输出类似如下的内容:
# who
rocrocket :0 2009-01-08 11:07
rocrocket pts/0 2009-01-08 11:23 (:0.0)
rocrocket pts/1 2009-01-08 14:15 (:0.0)
如果我们想提取每一行的第3个字节,就这样:
# who|cut -b 3
c
c
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]
参数说明:
在使用 sort 命令以默认的式对文件的行进行排序,使用的命令如下:sort testfile
sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。
使用 cat 命令显示 testfile 文件可知其原有的排序如下:
# cat testfile //testfile文件原有排序
test 30
Hello 95
Linux 85
//使用 sort 命令重排后的结果如下:
# sort testfile
Hello 95
Linux 85
test 30
使用 -k
参数设置对第二列的值进行重排,结果如下:
# sort testfile -k 2
test 30
Linux 85
Hello 95
uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]
参数:
文件testfile中第 2、3、5、6、7、9行为相同的行,使用 uniq 命令删除重复的行,可使用以下命令:uniq testfile
//testfile中的原有内容为:
# cat testfile
test 30
test 30
test 30
Hello 95
Hello 95
Hello 95
Hello 95
Linux 85
Linux 85
//使用uniq 命令删除重复的行后,有如下输出结果:
# uniq testfile
test 30
Hello 95
Linux 85
检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数。使用如下命令:uniq -c testfile
结果输出如下:
# uniq -c testfile //删除重复行后的内容
3 test 30 //前面的数字的意义为该行共出现了3次
4 Hello 95 //前面的数字的意义为该行共出现了4次
2 Linux 85 //前面的数字的意义为该行共出现了2次
当重复的行并不相邻时,uniq 命令是不起作用的,即若文件内容为以下时,uniq 命令不起作用:
# cat testfile1 //原有内容
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85
//这时我们就可以使用 sort:
# sort testfile1 | uniq
Hello 95
Linux 85
test 30
//统计各行在文件中出现的次数:
# sort testfile1 | uniq -c
3 Hello 95
3 Linux 85
3 test 30
//在文件中找出重复的行:
# sort testfile1 | uniq -d
Hello 95
Linux 85
test 30