首页计算机计算机软件Unix&Linux教程 16 第16章 过滤器:简介和基本操作.pptx

16 第16章 过滤器:简介和基本操作.pptx

页数:30页文件大小:84.2 KB来源: Unix&Linux教程ppt课件

本课件介绍过滤器的概念与基本操作:最简单的cat过滤器、增强过滤器功能的方法、常用过滤器清单,以及文件的组合与分割、tac与rev的反转、head与tail的选取和colrm删除数据列。

第16章过滤器:简介和基本操作封面,标示本章讲解的过滤器概念、cat与文件的组合分割
本章需要解决的几个问题要点讲解,涵盖什么是过滤器、组合使用过滤器和管道、最简单的过滤器是什么等
15.2过滤器说明页,定义:-能挂接在管道上的程序称为过滤器。
查看本课件的文字版(共 30 页,供检索与复制)

第1页:第16章过滤器:简介和基本操作

本页为第16章过滤器:简介和基本操作的章节封面,标示本章讲解的过滤器概念、cat与文件的组合分割。

第2页:本章需要解决的几个问题

  • 什么是过滤器?
  • 组合使用过滤器和管道,需要几个步骤?
  • 最简单的过滤器是什么?
  • tac和rev之间有什么区别?

第3页:15.2过滤器

  • 定义:-能挂接在管道上的程序称为过滤器。-例如:cat f1 f2 f3 | sort | less这里sort、less都是过滤器。

第4页:15.5最简单的过滤器:cat

  • cat的功能:-将标准输入的数据复制到标准输出。-例如:$ catthis is line 1<Return>this is line 1<Return>^D

第5页:最简单的过滤器:cat:cat的应用

  • cat的应用:-1.与重定向组合,快速创建一个小文件。-例如:$ cat datathis is line 1<Return>^D

第6页:最简单的过滤器:cat:cat的应用

  • cat的应用:-2.在已有文件中追加少数几行内容。-例如:$ cat >> data<Return>this is append line <Return>^D

第7页:最简单的过滤器:cat:cat的应用

  • cat的应用:-3.显示一个短文件的内容。-例如:$ cat < datathis is line 1this is append line^D

第8页:最简单的过滤器:cat:cat的应用

  • cat的应用:-4.显示任何文件的最后一部分。-例如:$ cat < /etc/profile可以对比使用$ tail /etc/profile

第9页:最简单的过滤器:cat:cat的应用

  • cat的应用:-5.通过重定向标准输入和输出复制文件。-例如:$ cat < data > newdata可以对比使用$ cp data newdata

第10页:15.6增强过滤器的功能

有效的改进
-允许指定一个或多个输入文件名。-例如:读取文件内容$ cat < data改进为$ cat data

第11页:15.6增强过滤器的功能:有效的改进

  • 有效的改进:-cat改进之后的语法cat[filename…]-例如:$ cat f1 f2 f3 | sort | less

第12页:增强过滤器的功能:cat改进的得失-1

  • cat改进的得失-1.可以通过管道,使得其它命令可以从多个文件获取内容。-2.失去了Unix总体设计的某些精美性,实用战胜了理想。cat的改进至少可以保持其它过滤器的纯洁性。-事实上,大多数过滤器并不考虑cat的感受,它们都允许多个文件名作为参数,例如:sort f1 f2 f3 | less

第13页:常用过滤器列表(一)

常用过滤器列表(一):作用与过滤器命令:下表列出课件中的对应条目。

常用过滤器列表(一):作用与过滤器命令
作用过滤器
Perl编程语言:操作文本awk
组合文件;复制标准输入到标准输出cat
删除指定的数据列colrm
比较两个有序文件,显示区别comm
比较两个文件cmp
从数据中抽取指定列cut
比较两个文件,显示不同diff

第14页:常用过滤器列表(二)

常用过滤器列表(二):作用与过滤器命令:下表列出课件中的对应条目。

常用过滤器列表(二):作用与过滤器命令
作用过滤器
将制表符转换为空格expand
将长行格式化成较短的行fold
格式化段落fmt
选择包含指定模式的行grep
从数据的开头选择行head
基于公用字段组合数据列join
选择以指定模式开头的行look

第15页:常用过滤器列表(三)

常用过滤器列表(三):作用与过滤器命令:下表列出课件中的对应条目。

常用过滤器列表(三):作用与过滤器命令
作用过滤器
创建行号nl
组合数据列paste
编程语言perl
将文本格式化为页或者列pr
每行数据中的字符反序排列rev
比较两个文件,显示区别sdiff
非交互式文本编辑sed

第16页:常用过滤器列表(四)

常用过滤器列表(四):作用与过滤器命令:下表列出课件中的对应条目。

常用过滤器列表(四):作用与过滤器命令
作用过滤器
排序数据;检查数据是否有序sort
将大文件分割成较小的文件split
在二进制文件中搜索字符串strings
组合文件,同时将文本行的顺序反转tac
从数据的末尾选择行tail
改变或删除选定的字符tr
根据偏序创建全序tsort

第17页:常用过滤器列表(五)

常用过滤器列表(五):作用与过滤器命令:下表列出课件中的对应条目。

常用过滤器列表(五):作用与过滤器命令
作用过滤器
将空格转变成制表符unexpand
选择重复或唯一行uniq
统计行数、单词数和字符数wc

第18页:15.8组合文件:cat

  • 语法定义:cat[-bns] [filename…]-n:在每行前面加一个行号-b:和-n一起使用,告诉cat不要对空白行编号-s:将多个连续空白行挤压为一个空白行
  • 相关过滤器:split、tac、rec

第19页:15.9分割文件:split

  • 语法定义:split[-d] [-anum] [-llines] [file[prefix]]-d:创建文件名时用数字作为后缀;num:创建文件名时用作文件名后缀的字符或数字数量;lines:每个新文件所包含的最大行数;file:输入文件的名称;prefix:创建文件名时所用的名称

第20页:15.9分割文件:split:使用解释

  • 使用解释:$ split data执行效果分析(1)假定data文件长度为57984行,默认创建57个1000行的文件和1个984行的文件(2)可以通过使用-llines重新设定分割后文件的最大行数:split-l 5000 data

第21页:15.9分割文件:split:使用解释

  • 使用解释:$ split data执行效果分析(3)新生成文件的文件名以x开头,后面跟两个字符的后缀:xaa xab … xaz xba xbb … xbz xca xcbxcc xcd

第22页:15.9分割文件:split:使用解释

  • 使用解释:$split data执行效果分析(4)如果不喜欢这种字母组合,可以通过-d选项,使用数字组合:split-d datax00 x01 x02 … x57

第23页:15.9分割文件:split:使用解释

  • 使用解释:$ split data执行效果分析(4)如果不希望文件以x开头,可以通过prefix参数来指定新文件名的前缀。split-d data datadata01 data02 … data57

第24页:15.9分割文件:split:使用解释

  • 使用解释:$ split data执行效果分析(5)两个字符的组合有26*26=676种,而两个数字的组合只有100种,如果分割后的文件超过100个,可以使用-a选项指定后缀中数字的数量:split-d–a 3 data,分割后的文件名为:x001 x002 … x057

第25页:组合文件时反转文本行的顺序:tac

语法定义
tac[file…]
功能描述
组合文本文件,将其写入到标准输出之前先将文本的顺序反转。
相关过滤器
cat、rev

第26页:15.11反转字符的顺序:rev

语法定义
rev[file…]
功能描述
将文件中各行的字符的顺序反转。
相关过滤器
cat、rev

第27页:反转字符的顺序:rev

  • 15.12从数据开头或末尾进行数据选择:head、tail
  • 语法定义:head[-nlines…]tail[-nlines…]其中:lines是希望选取的数据的行数lines的默认值是10如:cat f1 f2 f3 | sort | head-20

第28页:15.13删除数据列:colrm

  • 语法定义:colrm[startcol[endcol]]其中:startcol是希望删除的数据的开始列endcol是希望删除的数据的结束列
  • 相关过滤器:cut、paste

第29页:15.13删除数据列:colrm

  • 例子:有文件student,内容如下2011532001<Tab>Mike <Tab>952011532002<Tab>Barton<Tab>642011532003<Tab>Canby <Tab>752011532004<Tab>Jordan<Tab>822011532005<Tab>Daniel<Tab>882011532006<Tab>Battie<Tab>89如何删除姓名列?

第30页:15.13删除数据列:colrm:步骤

步骤
1.确定需要删除的列范围:11-172. colrm 11 17 < student
顶部目录