Linux基本命令练习(4)

参考实验楼课程Linux命令实例练习

wc 命令

wc 命令是一个统计的工具,主要用来显示文件所包含的行、字和字节数。

wc 命令是 word count 的缩写。

命令格式:

wc [选项] [文件]

常用参数:

参数

描述

-c

统计字节数

-l

统计行数

-m

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

-w

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

-L

打印最长行的长度

 

常用示例:

wc –c c.txt统计文件的字节数(注意每行结尾的换行符也算一个字符,空格也算一个字符。另外,由于系统采用UTF-8 编码,所以一个汉字为3 字节,9个汉字加上一个换行,一共28 个字节)

 

grep 命令

grep 是个很强大的命令,用来找到文件中的匹配文本,并且能够接受正则表达式和通配符,同时可以用多个 grep 命令选项来生成各种格式的输出。

grep 的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。

grep 可用于 shell 脚本,因为 grep 通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回 0,如果搜索不成功,则返回 1,如果搜索的文件不存在,则返回 2。我们利用这些返回值就可进行一些自动化的文本处理工作。

命令格式:

grep [选项] pattern [file]

常用参数:

参数

描述

-c

计算找到 '搜寻字符串'( pattern) 的次数

-i

忽略大小写的不同,所以大小写视为相同

-n

输出行号

-v

反向选择,打印不匹配的行

-r

递归搜索

--color=auto

将找到的关键词部分加上颜色显示

 

cut 命令

cut 命令是一个将文本按列进行切分的小工具,它可以指定分隔每列的定界符。

如果一行数据包含多个字段(多列),现在想要提取其中的一列或多列,这是 cut 命令就可以大显身手了。

命令格式:

cut [选项] [文件名]

常用参数:

参数

描述

-b

以字节为单位进行分割

-c

以字符为单位进行分割

-d

自定义分隔符,默认为制表符

-f

自定义字段

--complement

抽取整个文本行,除了那些由 -c 或 -f 选项指定的文本

 

常用命令:

cut -f 1,3 -d ‘ ’ student.txt 出 student.txt 文件中的第一列和第三列

 

paste 命令

paste 命令的功能正好与 cut 相反。它会添加一个或多个文本列到文件中,而不是从文件中抽取文本列。它通过读取多个文件,然后把每个文件中的字段整合成单个文本流,输入到标准输出。

命令格式:

paste [选项] [文件名]

常用参数:

参数

描述

-s

将每个文件合并成行而不是按行粘贴

-d

自定义分隔符,默认为制表符

常用命令:

paste student.txt telphone.txt -d ‘:’  student.txt 和 telphone.txt 文件中的内容按列拼接,指定分隔符为

 

tr 命令

tr 命令常被用来更改字符。我们可以把它看作是一种基于字符的查找和替换操作。换字是一种把字符从一个字母转换为另一个字母的过程。tr 从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。

tr 只能通过 stdin(标准输入),而无法通过命令行参数来接受输入。

tr translate(转换)的缩写。

命令格式:

tr [选项] SET1 SET2

将来自 stdin 的输入字符从 SET1 映射到 SET2,并将其输出写入 stdout(标准输出)。SET1 SET2 是字符类或字符集。如果两个字符集的长度不相等,那么 SET2 会不断重复其最后一个字符,直到长度与 SET1 相同。如果 SET2 的长度大于 SET1,那么在 SET2 中超出 SET1 的那部分字符则全部被忽略。

常用参数:

参数

描述

-d

删除匹配 SET1 的内容,并不作替换

 

sort 命令

同文本文件打交道时,总避不开排序,那是因为对于文本处理任务而言,排序(sort)可以起到不小的作用。sort 命令能够帮助我们对文本文件和 stdin 进行排序操作。通常,它会结合其他命令来生成所需要的输出。

命令格式:

sort [选项] [文件名]

常用参数:

参数

描述

-n

基于字符串的长度来排序,使用此选项允许根据数字值排序,而不是字母值

-k

指定排序关键字

-b

默认情况下,对整行进行排序,从每行的第一个字符开始。这个选项导致 sort 程序忽略每行开头的空格,从第一个非空白字符开始排序

-m

只合并多个输入文件

-r

按相反顺序排序,结果按照降序排列,而不是升序

-t

自定义分隔符,默认为制表符

 

uniq 命令

uniq 命令经常和 sort 命令结合在一起使用。uniq 从标准输入或单个文件名参数接受数据有序列表,默认情况下,从数据列表中删除任何重复行。

uniq 只能用于排过序的数据输入,因此,uniq 要么使用管道,要么将排过序的文件作为输入,并总是以这种方式与 sort 命令结合起来使用。

uniq 命令是 unique 的缩写。

命令格式:

uniq [选项] [文件名]

常用参数:

参数

描述

-c

在每行前加上表示相应行目出现次数的前缀编号

-d

只输出重复的行

-u

只显示唯一的行

-D

显示所有重复的行

-f

比较时跳过前 n

-i

在比较的时候不区分大小写

-s

比较时跳过前 n 个字符

-w

对每行第 n 个字符以后的内容不作对照

 

join 命令

join 命令类似于 paste,它会往文件中添加列,但是它使用了独特的方法来完成。一个 join 操作通常与关系型数据库有关联,在关系型数据库中来自多个享有共同关键域的表格的数据结合起来,得到一个期望的结果。这个 join 命令执行相同的操作,它把来自于多个基于共享关键域的文件的数据结合起来。

通俗地说,就是将两个文件中指定栏位相同的行连接起来,即按照两个文件中共同拥有的某一列,将对应的行拼接成一行。

命令格式:

join [选项] 文件 1 文件 2

常用参数:

参数

描述

-j FIELD

等同于 -1 FIELD -2 FIELD,-j 指定一个域作为匹配字段

-1 FIELD

file1 中 FIELD 字段进行匹配

-2 FIELD

file2 中 FIELD 字段进行匹配

-t

自定义分隔符,默认为制表符

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值