UNIX初级讲座Ch06数据处理工具.ppt
《UNIX初级讲座Ch06数据处理工具.ppt》由会员分享,可在线阅读,更多相关《UNIX初级讲座Ch06数据处理工具.ppt(128页珍藏版)》请在三一办公上搜索。
1、UNIX操作系统,北京邮电大学电信工程学院多媒体中心,2023/7/8,2,第六章数据处理工具,高级命令介绍 正则表达式 grep家族 sed awk,2023/7/8,3,6.1 高级命令介绍,2023/7/8,4,cut,名称:cut权限:所有使用者 语法:cut section specifiers options file 说明:cut命令浏览每行输入,将每行分成节,然后显示指定的节。如果不指定输入,则使用STDIN。节描述符,2023/7/8,5,你可以用几种不同的方式来组成LIST参数:使用逗号表示单个不连续的小节:f4,7使用范围表示连续的几个小节:-b2-4使用n-表示从n小节
2、开始直到行结束的所有小节。,2023/7/8,6,选项,2023/7/8,7,范例:Apple$more test1.txt test2alongsentencethis is test1Apple$cut-f2,3-d test1.txt test2alongsentenceis test1Apple$cut-f2-d-s test1.txt isApple$cut-c0-6 test1.txt#print开头算起前6个字元 test2athis i,2023/7/8,8,find,名称:find语法:find path expression说明:find命令检查目录树并计算所遇到的每一个表
3、达式的值。缺省路径是当前路径,缺省表达式是-printfind根据下列规则来分割路径和表达式,在命令行上第一个-(),!之前的部份为路径,之后的是表达式。,2023/7/8,9,表达式分为选项子句、测试子句和动作子句三部分。各个子句之间通过运算符连接,缺省运算符为-and。运算符:,2023/7/8,10,选项影响整个find命令,因此它们总是返回真值。,2023/7/8,11,find命令的测试:,2023/7/8,12,find命令的测试(续):,2023/7/8,13,find命令的测试(续):,2023/7/8,14,find命令的测试(续):,2023/7/8,15,find命令的测
4、试(续):,2023/7/8,16,在上述测试中,出现数字n的地方(时间、大小)可以使用+n表示大于n,-n表示小于n,而n则表示正好等于n。-perm-mode All of the permission bits mode are set for the file.-perm+mode Any of the permission bits mode are set for the file.,2023/7/8,17,find命令的动作:,2023/7/8,18,范例:将当前目录及其子目录下所有扩展名是c的文件列出来。Apple$find.-name“*.c”将目前目录其其下子目录中所有普通
5、文件列出来 Apple$find.-ftype f将目前目录及其子目录下所有最近 20 分钟内更新过的文件列出 Apple$find.-ctime-20,2023/7/8,19,将当前目录及其子目录下所有扩展名不是c的文件列出来:Apple$find.-name“*.c”o print显示目录的深度及文件的目录名和文件名:Apple$find ch1-printf%d%h/%fn0/ch11 ch1/ch1.cpp1 ch1/ch1.h1 ch1/ch1_main.cpp1 ch1/Makefile,2023/7/8,20,显示所有具有全局可执行权限的文件:Apple$find.-type f
6、-perm-001-print./test./filecounter./filesplitor./dtree,2023/7/8,21,使用find命令来生成命令行:Apple$dir2=“backup”Apple$find dir1-type d printf mkdir-p$dir2/%Pn-o!-type d printf mv%p$dir2/%pn|sh%P和%p都是输出文件名,%p的输出是从命令行上指定的搜索目录开始,而%P则去掉命令行上指定的目录,2023/7/8,22,Apple$tree.|-dir2|-one.txt|-two.txt|-one.txt-two.txt,Appl
7、e$find dir1-printf%pndir1dir1/one.txtdir1/two.txtdir1/dir2dir1/dir2/one.txtdir1/dir2/two.txtApple$find dir1-printf%Pn one.txttwo.txtdir2dir2/one.txtdir2/two.txt,2023/7/8,23,info,名称:info语法:info options nodename 说明:info命令启动GNU扩展超文本文档系统。系统中每一个小而精的信息被称为一个节点。,2023/7/8,24,join,名称:join语法:join options file1
8、 file2说明:将两个文件中拥有相同字段的行合并起来。,2023/7/8,25,选项:,2023/7/8,26,选项(续):,2023/7/8,27,jnames001 Barry002 Mario003 John004 Harry005 Dorothy006 Jackie,jhiredt001 04/12/1989002 06/23/1994003 12/12/1997004 11/17/1997005 02/06/1994006 07/20/1995,范例:先建立三个示例文本文件:,jhiredt001 135000002 80000003 45000004 75000005 90000
9、007 68000,2023/7/8,28,Apple$join jnames jsalaries 001 Barry 135000002 Mario 80000003 John 45000004 Harry 75000005 Dorothy 90000,Apple$join-a1 jnames jsalaries 001 Barry 135000002 Mario 80000003 John 45000004 Harry 75000005 Dorothy 90000006 Jackie,2023/7/8,29,Apple$join-a2 jnames jsalaries 001 Barry
10、135000002 Mario 80000003 John 45000004 Harry 75000005 Dorothy 90000007 68000,Apple$join-o1.2,2.2 jnames jsalaries Barry 135000Mario 80000John 45000Harry 75000Dorothy 90000,2023/7/8,30,Apple$join-v1 jnames jsalaries006 JackieApple$join-v2 jnames jsalaries007 68000Apple$join-a1 jnames jsalaries|join-j
11、hiredt 001 Barry 135000 04/12/1989002 Mario 80000 06/23/1994003 John 45000 12/12/1997004 Harry 75000 11/17/1997005 Dorothy 90000 02/06/1994006 Jackie 07/20/1995,2023/7/8,31,nl,名称:nl语法:nl options file说明:加上行号后输出文件,2023/7/8,32,pstree,名称:pstree语法:pstree options pid|user说明:以树形格式输出进程名,缺省时以init进程为根节点,可以通过指
12、定pid或user来改变根节点。,2023/7/8,33,选项:,2023/7/8,34,范例:Apple$pstree-hinit-+-adsl-connect-pppd-pppoe|-atd|-bdflush|-crond|-eth0|-kapmd|-keventd|-khubd|-2*kjournald|-klogd|-ksoftirqd_CPU0|-kswapd|-kupdated,|-lockd|-mdrecoveryd|-3*mingetty|-miniserv.pl|-portmap|-pptpd-3*pptpctrl-pppd-ip-up|-proftpd|-rhnsd|-rp
13、c.statd|-rpciod|-socks5-2*socks5|-sshd-+-sshd-bash-ssh|-sshd-bash-pstree|-syslogd-xinetd,2023/7/8,35,sort,名称:sort语法:sort options file说明:将输入文件按行排序、将多个有序文件合并或验证文件是否是有序的。缺省时sort将单个空格作为字段定界符。然后根据最左边的字段对各行排序,如果最左边的字段相同,则检查下一个字段。当给大文件排序时,应保证有足够的临时磁盘空间。,2023/7/8,36,选项:,2023/7/8,37,选项(续):,2023/7/8,38,范例测试文件
14、date:1 AC BB CC2 AB CC DD3 CA BB CC5 BE DD EE4 BD AA AA,Apple$sort date1 AC BB CC2 AB CC DD3 CA BB CC4 BD AA AA5 BE DD EEApple$sort-k2 date2 AB CC DD1 AC BB CC4 BD AA AA5 BE DD EE3 CA BB CC,2023/7/8,39,Apple$sort-k2.3 date13 CA BB CC2 AB CC DD1 AC BB CC4 BD AA AA5 BE DD EEApple$sort-k2.3r date15 BE
15、DD EE4 BD AA AA1 AC BB CC2 AB CC DD3 CA BB CC,Apple$sort-n date11 AC BB CC2 AB CC DD3 CA BB CC4 BD AA AA5 BE DD EE,2023/7/8,40,split,名称:split语法:split opt input PREFIX说明:split命令以大小作为划分的标准将文件分割成几个部分,分割后的文件名为PREFIXaa、PREFIXab,缺省的前缀为x,缺省的后缀长度为2。,2023/7/8,41,选项:,2023/7/8,42,strings,名称:strings语法:strings o
16、pt file说明:此命令用于显示二进制文件中的可打印字符串。缺省时,strings在文件的初始化小节和已装入小节中寻找所有长度大于4个字符的可打印字符序列。,2023/7/8,43,选项:,2023/7/8,44,tee,名称:tee语法:tee options file说明:T型管道:从STDIN中读取并写到STDOUT和指定的文件中。选项,2023/7/8,45,范例:hopblack hop$ls-l|tee ls.dat|wc-l 14hopblack hop$more ls.dat total 52drwxrwxr-x 2 hop hop 4096 Oct 16 21:43 ch1
17、-rw-rw-r-1 hop hop 55 Nov 1 13:27 date1drwxrwxr-x 3 hop hop 4096 Nov 1 11:33 dir1-rwxrwxr-x 1 hop hop 195 Oct 31 22:56 dtree-rw-rw-r-1 hop hop 935 Oct 3 21:54 ex-01-01-a.cpp-rw-rw-r-1 hop hop 584 Oct 3 21:44 ex-01-01-b.cpp-rwxrwxr-x 1 hop hop 3095 Oct 31 13:30 filecounter-rwxrwxr-x 1 hop hop 1049 Oc
18、t 31 23:03 filesplitor-rw-rw-r-1 hop hop 90 Nov 1 12:15 jhiredt-rw-rw-r-1 hop hop 62 Nov 1 12:14 jnames-rw-rw-r-1 hop hop 61 Nov 1 12:17 jsalaries-rwxrwxr-x 1 hop hop 1654 Oct 31 12:26 test-rw-rw-r-1 hop hop 33 Nov 1 09:38 test1.txt,2023/7/8,46,tr,名称:tr语法:tr options charset1 charset2说明:对从STDIN中读入的字符
19、进行变换、压缩或删除,然后将结果送至STDOUT,charset1和charset2指定了哪些字符被转换以及它们被转换成什么字符。当charset1和charset2都被指定并且没有使用-d选项时,tr执行转换,每一个与charset1中的字符匹配的输入字符都被转换为charset2中相应的字符。tr也可用于将重复出现的字符紧缩为一个字符。,2023/7/8,47,选项:,2023/7/8,48,转换时若charset2比charset1长,则忽略多余的字符;若charset1比charset2长,则不断重复charset2的最后一个字符直到二者一样长。c*n表示字符c重复n次,c*表示将字符
20、c重复必要的次数以使charset1和charset2长度相等。在charset1和charset2中可使用字符类。,2023/7/8,49,范例:数据文件:tr.datABC DEF GHIABC DEF GHIAAA BBB CCC,Apple$tr“A”“Z”tr.datZBC DEF GHIZBC DEF GHIZZZ BBB CCC,2023/7/8,50,Apple$tr ABC Z*tr.datZZZ DEF GHIZZZ DEF GHIZZZ ZZZ ZZZ,Apple$tr ABCD YYZZ tr.dat YYZ ZEF GHIYYZ ZEF GHIYYY YYY ZZZ,
21、2023/7/8,51,Apple$tr-s BC tr.datABC DEF GHIABC DEF GHIAAA B C,Apple$tr-s BC ZZ tr.datAZ DEF GHIAZ DEF GHIAAA Z Z,2023/7/8,52,Apple$tr-d n tr.dat;echoABC DEF GHIABC DEF GHIAAA BBB CCCApple$tr-c A Z tr.datAZZZZZZZZZZZAZZZZZZZZZZZAAAZZZZZZZZZApple$Apple$tr-c A n Z tr.dat AZZ ZZZ ZZZAZZ ZZZ ZZZAAA ZZZ Z
22、ZZ,2023/7/8,53,tty,名称:tty语法:tty OPTIONS说明:输出连接到STDIN的终端的文件名。选项:-s不产生任何输出,只返回一个退出值。范例:Apple$tty/dev/pts/2,2023/7/8,54,uniq,名称:uniq语法:uniq OPTIONS INPUT OUTPUT说明:从已排序的文件中删除重复的行。,2023/7/8,55,选项:,2023/7/8,56,范例:示范文件:uniq.dat01 12345 6789002 12345 6789003 12345 2222203 12345 2222204 11111 22222,Apple$uni
23、q uniq.dat01 12345 6789002 12345 6789003 12345 2222204 11111 22222,2023/7/8,57,Apple$uniq-d uniq.dat03 12345 22222Apple$uniq-u uniq.dat01 12345 6789002 12345 6789004 11111 22222,Apple$uniq-f1 uniq.dat01 12345 6789003 12345 2222204 11111 22222Apple$uniq-f1-w5 uniq.dat01 12345 6789004 11111 22222,2023
24、/7/8,58,xargs,名称:xargs语法:xargs-0prtx-eeof-str-ireplace-str-lmax-lines-n max-args-s max-chars-P max-procs-null-verbose-exit-max-procs=max-procs-version-help command initial-arguments,2023/7/8,59,说明:建立并执行命令行。xargs从STDIN读入被空格和新行符分隔的参数,然后以initial-arguments后跟随读入的参数来执行给定的命令(缺省时执行/bin/echo),2023/7/8,60,选项:
25、,2023/7/8,61,选项(续):,2023/7/8,62,选项(续):,2023/7/8,63,6.2 正则表达式,一、正则表达式语法(Regular Expression)x?0或1个x字符 x*0或0个以上x字符.*0或0个以上任意字符 x+1或1个以上x字符.+1或1个以上任意字符mm个字符m,nm个以上、n个以下个数的字符,2023/7/8,64,m,m个以上个数的字符 范围(若减号在最后,则失去表示区间的意义)范围的补集,若不在开头,则失去其表示补集的特殊意义 字符串开头的字符$字符串末尾的字符 d等价于0-9 d+等价于0-9+D等价于0-9,2023/7/8,65,D+等价
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 初级 讲座 Ch06 数据处理 工具
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-5451662.html