本节书摘来自异步社区《Linux指令从入门到精通》一书中的第4章,第4.4节,作者:宋磊 , 宋馥莉 , 雷文利著,更多章节内容可以访问云栖社区“异步社区”公众号查看
4.4Linux下的文本编辑指令
4.4.1col指令:过滤控制字符
学会滤除控制字符
col [-可选参数]
col指令过滤控制字符,可以将文件的内容转换为纯文本模式,可处理man指令的输出数据。同时col指令还能使用多个空格代替tab,能用于转存nroff和tbl的输出。
可选参数及其说明如下:
范例425 过滤控制字符,并保存为文本文件。
[root@localhost yy]# man cat > h.txt[root@localhost yy]# cat h.txtCAT(1)User Commands CAT(1)N^HNA^HAM^HME^HEcat-concatenate files and print on the standard outputS^HSY^HYN^HNO^HOP^HPS^HSI^HIS^HSc^Hca^Hat^Ht [_^HO_^HP_^HT_^HI_^HO_^HN]... [_^HF_^HI_^HL_^HE]...------------------------------------------------------------------------------------[root@localhost yy]# man cat | col -b > h1.txt //滤掉RLF和HRLF字符[root@localhost yy]# cat h1.txtCAT(1)User Commands CAT(1)NAMEcat-concatenate files and print on the standard outputSYNOPSIScat [OPTION]... [FILE]..------------------------------------------------------------------------------------
执行指令“man cat | col -b > h1.txt”将cat的man信息重定向到纯文本文件h1.txt使用cat指令输出结果,文本中nroff 控制字符已经滤出。
4.4.2colrm指令:删除指定的列
学会删除文件中的指定列
colrm [开始列号[结束列号] ]
colrm指令可以从标准输入中读取数据删除指定的列,输出到标准输出。如果指令中参数只包含开始列,将删除指定列之后的所有的列;如果指令中参数包含开始列和结束列,将删除两个列值之间的所有的列。指令还可对指定文件进行操作。
范例426 删除指定的列及其以后的所有列。
[root@localhost ~]# colrm 3 //删除指定的第3列及其以后所有列asdasdghhkl //输入数据,回车as//输出数据中删除了指定列及其之后的所有列dghjjk //输入dg//输出 输入“ctrl+d”退出[root@localhost ~]#
执行指令“colrm 3”从标准输入输入“asdasdghhkl”回车输出为“as”,输入数据“dghjjk”输出“dg”,输入“ctrl+d”退出指令。
范例427 删除指定的两列及其中间的所有列。
[root@localhost ~]# colrm 3 5 //删除指定列asdasdghhkl //输入数据,回车asdghhkl //输出数据dghjjk //输入dgk//输出 输入“ctrl+d”退出[root@localhost ~]#
执行指令“colrm 3 5”从标准输入输入“asdasdghhkl”回车输出为“asdghhkl”,输入数据“dghjjk”输出“dgk”,输入“ctrl+d”退出指令。
范例428 删除指定文件中的列。
[root@localhost yy]# cat a1//显示文件a1的内容Hello everyoneHello everybodyHow are youFine thank you and you[root@localhost yy]# colrm 4 <a1 //删除文件a1每一行的第4列及其之后的所有列HelHelHowFin[root@localhost yy]# colrm 1 3 <a1 //删除文件第1~3列之间的所有列lo everyonelo everybodyare youe thank you and you[root@localhost yy]#
执行指令“colrm 4
4.4.3comm指令:比较排序文件
掌握对两个有序文件进行比较的方法
comm [-可选参数] 文件1 文件2
comm指令将两个排序文件逐行进行比较,然后输出结果。在不指定参数时,比较结果将分成三部分输出:一、输出文件1的独有行;二、输出文件2 的独有行;三、输出文件1和文件2的共有行。如果指令中文件名称为“-”,指令将从标准输入中读入。
可选参数及其说明如下:
范例429 比较排序文件。
[root@localhost yy]# cat a1 //显示文件a1的内容Hello everyoneHello everybodyHow are youFine thank you and you[root@localhost yy]# cat a2 //显示文件a2的内容aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFine thank you and you[root@localhost yy]# comm a1 a2 //比较排序文件a1和a2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHello everyoneHello everybodyHow are youFine thank you and you[root@localhost yy]#
执行指令“comm a1 a2”比较排序文件a1和a2,结果分三部分输出三部分的内容。第一部分是文件1单独含有的行;第二部分是文件2单独含有的行;第三部分是两个文件共有的行。如上所示。
范例430 比较排序文件,同时对文件进行输出选择。
[root@localhost yy]# cat a1 //显示文件a1的内容Hello everyoneHello everybodyHow are youFine thank you and you[root@localhost yy]# cat a2 //显示文件a2的内容aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFine thank you and you[root@localhost yy]# comm -1 a1 a2 //比较排序文件a1和a2,文件a1单独含有的行不显示aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaFine thank you and you[root@localhost yy]# comm -2 a1 a2 //比较排序文件a1和a2,文件a2单独含有的行不显示Hello everyoneHello everybodyHow are youFine thank you and you[root@localhost yy]# comm -3 a1 a2 //比较排序文件a1和a2,文件a1和a2共有的行不显示aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaHello everyoneHello everybodyHow are you[root@localhost yy]#
执行指令“comm.-1 a1 a2”,“comm. -2 a1 a2” 和“comm. -3 a1 a2”比较排序文件a1和a2,同时通过对参数的选择实现不同的输出。如上所示。
4.4.4fmt指令:编排文本文件
掌握对文件格式进行编排的简单方法
fmt [-可选参数] [文件]
fmt指令将依照指定的格式重排指定文件里的内容,然后输出到标准输出。若指令中未指定文件,从标准输入读取数据。
必要参数的具体说明如下:
范例431 对指定文件进行重新编排。
[root@localhost yy]# cat sr//显示文件sr的内容asdfgjkjlasdsfgfhgjkadsfghjklkasfghkqsjkdfgdjkfgsdjkdfhdjkfgjsdhfklhhgskjg[root@localhost yy]# fmt a1//重新编排文件srasdfgjkjl asdsfgfhgjk adsfghjklk asfghkq sjkdfgdjkfg sdjkdfhdjkfg jsdhfklh hgskjg[root@localhost yy]# cat sr | fmt//重新编排文件srasdfgjkjl asdsfgfhgjk adsfghjklk asfghkq sjkdfgdjkfg sdjkdfhdjkfg jsdhfklh hgskjg[root@localhost yy]# cat srsdfgjkjlasdsfgfhgjkadsfghjklkasfghkqsjkdfgdjkfgsdjkdfhdjkfgjsdhfklhhgskjg[root@localhost yy]#
执行指令“fmt sr” 和指令“cat sr | fmt”对文件sr重新进行编排。
范例432 对起始字符为指定字符串的列进行合并。
[root@localhost yy]# cat a1 //显示文件a1的内容Hello everybodyHello everyoneHow are you[root@localhost yy]# fmt –p hello a1//对文件重新进行编排Hello everybody Hello everyoneHow are you[root@localhost yy]#
执行指令“fmt –p hello a1”将从标准输入设备读取数据,然后进行编排。
范例433 从标准输入读取数据进行编排。
[root@localhost yy]# fmt //对输入数据进行重新编排Afdsf ag;agrsdfhFgjksdghfgjAdfghfghj sdfhFgh //完成输入后按Ctrl+d退出Afdsf ag ;agrsdfh Fgjksdghfgj Adfghfghj sdfh Fgh [root@localhost yy]#
执行指令“fmt”将从标准输入设备读取数据,然后进行编排。
4.4.5fold指令:限制文件列宽
能对文件的列宽进行限制
fold [-可选参数] [文件]
fold指令可用来调整文件的列宽,读取指定文件的内容,如果文件中某行的列数超出限定的列数,将超出部分截断作为新的一行在该行后输出,要求新增加的行也满足限定列宽。fold指令也可从标准输入中读取数据,然后将结果输出到标准输出。fold指令的功能和fmt指令有类似之处,学习的时候要注意区别。
可选参数及其说明如下:
范例434 调整文件的列宽。
[root@localhost yy]# fold -w 3//从标准输入中读入文件aaaaaaaaaaaaaaaaaaaaaaaaaaaa//“Ctrl+d”aaaaaaaaaaaaaaaaaaaaaaaaaaaa[root@localhost yy]#
执行指令“fold -w 3”从标准输入设备中读取数据,然后将结果输出到标准输出设备,如本例所示。
范例435 调整文件的列宽,同时保存调整后的文件。
[root@localhost yy]#lsa1.txt sr yy[root@localhost yy]# fold -w 3 >aa.txt//从标准输入中读入文件aaaaaaaaaaaaaaaaaaaaaaaaaaaa //“Ctrl+d”[root@localhost yy]#lsa1.txt aa.txt sr yy[root@localhost yy]#cat aa.txtaaaaaaaaaaaaaaaaaaaaaaaaaaaa[root@localhost yy]#
执行指令“fold -w 3 > aa.txt”从标准输入设备中读取数据,然后将结果输出到指定文件aa.txt中,如本例所示。
4.4.6grep指令 :匹配搜索
掌握匹配搜索的方法
grep [-可选参数] 查找模式 [文件或者目录]
grep指令用于查找文件中符合指定模式的行,并将其输出到标准输出设备。如果指令中未指定文件名,将会从标准输入中读取数据。
【ACTION的值】
read:将目录视为一般文档文件进行处理,预设的ACTION的值为read。
skip:忽略目录不处理。
recurse:相当于-r参数,递归处理目录下的文件。
范例436 在指定文件中查找含有匹配字符串的行。
[root@localhost yy]# cat sr //显示文件sr的内容asd fgjkjlasdsfgfhgjkadsfghjklkasfghkqsjkdfgdjkfgsdjkdfhdjkfgjsdhfklhhgskjg[root@localhost yy]# grep as sr //在指定文件sr查找匹配字符串“as”asd fgjkjlasdsfgfhgjkasfghk[root@localhost yy]# egrep as sr //在指定文件sr查找匹配字符串“as”asd fgjkjlasdsfgfhgjkasfghk[root@localhost yy]# fgrep as sr //在指定文件sr查找匹配字符串“as”asd fgjkjlasdsfgfhgjkasfghk[root@localhost yy]#
执行指令“grep as sr”,“egrep as sr”和“fgrep as sr”查找指定文件中含有字符串“as”的行,并将查找到的行输出到标准输出,输出结果如上所示。我们知道egrep、fgrep和grep指令都是用于实现指定模式搜索的指令,其中grep指令一次只搜索一个指定的模式,egrep是扩展的grep指令,能检索正则表达式,而fgrep指令则是快速grep。
范例437 在多个指定文件中查找含有匹配字符串的行。
[root@localhost yy]# cat a2//显示文件a2的内容aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaafine thank you and you[root@localhost yy]# grep a a2 sr //在指定文件a2和文件sr中查找匹配字符串“as”a2:aaaaaaaaaaaaa2:aaaaaaaaaaaaa2:aaaaaaaaaaaaa2:aaaaaaaaaaaaa2:fine thank you and yousr:asd fgjkjlsr:asdsfgfhgjksr:adsfghjklksr:asfghk[root@localhost yy]#
执行指令“grep a a2 sr”查找指定文件a2和文件sr中含有字符“a”的行,并将查找到的行输出到标准输出。如上所示。
范例438 查找含有匹配字符串的行,同时显示其后两行的内容。
[root@localhost yy]# grep –A 2 ads sr//查找匹配字符串“ads”同时显示匹配行及其后两行的内容adsfghjklkasfghk[root@localhost yy]#
执行指令“grep –A 2 ads sr”查找指定文件sr中含有字符串“ads”的行,并将查找到的行以及该行的后两行输出到标准输出。
范例439 按照范本文件中给出的查找模式进行查找。
[root@localhost yy]# cat a3//显示范本文件a3的内容asdadsfgsf[root@localhost yy]# grep –f a3 sr//查找符合范本文件中查找模式asd fgjkjl asdsfgfhgjkadsfghjklkasfghksjkdfgdjkfgsdjkdfhdjkfg[root@localhost yy]#
执行指令“grep –f a3 sr”查找指定文件sr中含有范本文件中指定查找模式的行,并将查找到的行输出到标准输出。
范例440 列出目录下所有符合查找模式的文件名。
[root@localhost yy]# grep –l as * //列出所有符合查找模式的文件a3ar.txtdf.txthh1.txtls.man.txtsrsr.txtttypbind[root@localhost yy]#
执行指令“grep –l as *”l列出所有符合查找模式的文件名。
范例441 反转显示所有不满足查找模式的行。
[root@localhost yy]# grep -v asd sr //列出文件sr中不含“asd”的行adsfghjklkasfghkqsjkdfgdjkfgsdjkdfhdjkfgjsdhfklhhgskjg[root@localhost yy]#
执行指令“grep -v asd sr”显示指定文件sr中不符合查找模式“asd”的所有行。
范例442 将查找模式看作word的形式对文件进行索引。
[root@localhost yy]# grep -w asd sr //将字符串“asd”看作word形式asd fgjkjl[root@localhost yy]#
执行指令“grep -w asd sr” 将查找模式看作word的形式对文件进行索引。
4.4.7ispell指令:拼字检查程序
学会使用ispell指令对文件进行拼写检查
ispell [-可选参数] [文件]
ispell指令使用/usr/lib/ispell/english.hash下的预设字典来检查指定的文件。如果检查到文件中存在预设字典里没有的词汇,会建议你使用的词汇或让你将新的词汇加入个人字典。
范例443 检查指定文件。
[root@localhost yy]# cat a11 //显示文件a11的内容Hello everybodyHello everyoneHow are youLinuxRed hat Linux[root@localhost yy]# ispell a11 //检查文件a11
输入指令“ispell a2”回车将显示如下内容。
Hello everybodyHello everyoneHow are youLinuxRed hat Linux1)Linux 6)Linuxes2)lynx7)lix3)Linus 8)linkup4)links 9)Linc‘s5)Linc0)Linki)Ignore I)Ignore allr)Replace R)Replace alla) Add l) Add Lowerb) Abort x)Exit?
如果输入数字1,将文件中第四行中的Linux替换为Linux。这时的显示如下:
Hello everybodyHello everyoneHow are youLinuxRed hat Linux1)Linux 6)Linuxes2)lynx7)lix3)Linus 8)linkup4)links 9)Linc‘s5)Linc0)Linki)Ignore I)Ignore allr)Replace R)Replace alla) Add l) Add Lowerb) Abort x)Exit?
如果不想替换可按x键直接退出。
[root@localhost yy]# cat a11 //显示文件a11的内容Hello everybodyHello everyoneHow are youLinuxRed hat Linux[root@localhost yy]#
在执行完成后查看文件a11的内容可发现文件的拼写已更改。
本例使用指令“spell -d american iptables.sh”指定词典为美语词典进行检查。
4.4.8join指令:连接两个指定的文件
会运用join指令连接两个不同文件
join [-可选参数] 文件1 文件2
join指令可以找出文件中指定栏位相同的行,然后连接两个指定的文件,输出到标准输出设备。
范例444 连接两个文件中栏位相同的行。
[root@localhost yy]# cat b1 //显示文件b1的信息1 b1 10242 b1 11333 b1 09814 b1 13215 b1 19876 b1 1877[root@localhost yy]# cat b2 //显示文件b2的信息1 b2 00252 b2 00173 b2 01194 b2 02265 b2 00687 b2 0001[root@localhost yy]# join b1 b2 //连接两个文件1 b1 1024 b2 00252 b1 1133 b2 00173 b1 0981 b2 01194 b1 1321 b2 02265 b1 1987 b2 0068[root@localhost yy]#
执行指令“join b1 b2”,将文件b1和b2中栏位相同的部分连接起来,连接的顺序与指令中文件名的先后有关,一般情况下空格作为栏位的区分。
范例445 连接两个文件中栏位相同的行,同时显示选中文件中不相同的行。
[root@localhost yy]# cat b1 //显示文件b1的信息1 b1 1024 12 b1 1133 23 b1 0981 34 b1 1321 45 b1 1987 56 b1 1877 6[root@localhost yy]# cat b2 //显示文件b2的信息1 b2 0025 12 b2 0017 23 b2 0119 34 b2 0226 45 b2 0068 57 b2 0001 7[root@localhost yy]# join –a1 b1 b2 //连接两个文件b1和b2,同时显示文件b1中的栏位不同的行1 b1 1024 1 b2 0025 12 b1 1133 2 b2 0017 23 b1 0981 3 b2 0119 34 b1 1321 4 b2 0226 45 b1 1987 5 b2 0068 56 b1 1877 6[root@localhost yy]# join –a2 b1 b2 //连接两个文件b1和b2,同时显示文件b2中的栏位不同的行1 b1 1024 1 b2 0025 12 b1 1133 2 b2 0017 23 b1 0981 3 b2 0119 34 b1 1321 4 b2 0226 45 b1 1987 5 b2 0068 57 b2 0001 7[root@localhost yy]#
执行指令“join –a num b1 b2”,将文件b1和b2中栏位相同的部分连接起来,同时显示num指定的文件里栏位不同的行。num取得的数字1或2与文件在指令中的顺序是相关的,1代表前者,2代表后者。
范例446 连接指定栏位相同的文件。
[root@localhost yy]# cat b1 //显示文件b1的信息1 b1 1024 12 b1 1133 23 b1 0981 34 b1 1321 45 b1 1987 56 b1 1877 6[root@localhost yy]# cat b2 //显示文件b2的信息1 b2 0025 12 b2 0017 23 b2 0119 34 b2 0226 45 b2 0068 57 b2 0001 7[root@localhost yy]# join –1 4 b1 b2 //将文件b1的指定栏位与b2中的预设相比较1 1 b1 1024 b2 0025 12 2 b1 1133 b2 0017 23 3 b1 0981 b2 0119 34 4 b1 1321 b2 0226 45 5 b1 1987 b2 0068 5[root@localhost yy]# join –2 4 b1 b2 //将文件b2的指定栏位与b1中的预设相比较1 b1 1024 1 b2 00252 b1 1133 2 b2 00173 b1 0981 3 b2 01194 b1 1321 4 b2 02265 b1 1987 5 b2 0068[root@localhost yy]# join –j 4 b1 b2 //将文件b1与b2中的指定栏位相比较1 b1 1024 1 b2 00252 b1 1133 2 b2 00173 b1 0981 3 b2 01194 b1 1321 4 b2 02265 b1 1987 5 b2 0068[root@localhost yy]#
执行指令“join –1/2 栏位 b1 b2”,当指令中的参数为–1时指定的是文件1的栏位,文件2是预设栏位;当指令中的参数为–2时指定的栏位是文件2的栏位,文件1是预设栏位。这里的参数–1/2的意思与上面提到的num代表的意义相同。执行指令“join –l 栏位 b1 b2”同时指定了文件1和文件2的比较栏位。
4.4.9look指令:单字查询
掌握look指令进行英文单字查询的方法
look [-可选参数] 字首字符串 [文件]
使用look指令进行英文单字查询时,根据输入的字首字符串,会输出所有符合该条件的单字。
可选参数及其说明如下:
范例447 查找以word作为起始字符串的单字。
[root@localhost ~]# look word //开始查找Wordwordwordablewordablywordagewordagesword-beatword-blindword-bookwordbookwordbooksword-boundwordbreakword-breakingwordbuilding------------------------------------------------------------------------------------------------------------------------wordstarwordsterword-stockWordsworthWordsworthianwordsworthianwordsworthianismword-woundedwordy[root@localhost ~]#
执行指令“look word”后,在标准输出设备上输出所有预设字典上含有的以指定字符串作为字首的单字。
4.4.10sort指令:将文本文件内容加以排序
能使用sort指令对文本文件内容进行排序
sort [-可选参数] [文件]
利用sort指令可以对指定的文本文件的内容一行为单位进行排序。
范例448 对文件的内容进行排序。
[root@localhost yy]# cat b3//显示文件b3的信息9 b1 1024 06 b1 1133 13 b1 0981 25 b1 1321 37 b1 1987 42 b1 1877 51 b2 0025 64 b2 0017 78 b2 0119 80 b2 0226 9[root@localhost yy]# sort b3 //对文件b3进行排序0 b2 0226 91 b2 0025 62 b1 1877 53 b1 0981 24 b2 0017 75 b1 1321 36 b1 1133 17 b1 1987 48 b2 0119 89 b1 1024 0[root@localhost yy]#
执行指令“sort b3”对文件b3进行排序,然后输出到标准输出。
范例449 对文件的内容进行逆排序。
[root@localhost yy]# cat b1//显示文件b1的信息1 b1 10242 b1 11333 b1 09814 b1 13215 b1 19876 b1 1877[root@localhost yy]# sort –r b1 //对文件b1的内容进行逆排序6 b1 18775 b1 19874 b1 13213 b1 09812 b1 11331 b1 1024[root@localhost yy]#
执行指令“sort –r b1”对文件b1进行逆排序,然后输出到标准输出。
4.4.11spell指令:拼字检查程序
掌握使用spell指令进行拼字检查的方法,比较spell指令和ispell指令的使用方法
spell
spell指令可检查从标准输入设备输入的字符串有否拼写错误,如果检查到拼写错误,在输入结束后显示有拼写错误的字符。
范例450 检查输入的字符串。
[root@localhost ~]# spell//检查字符串wordasdddquitsadfsaveffgexit //完成从标准输入设备输入字符串asdddsadfffg[root@localhost ~]#
执行指令spell检查从标准输入设备输入的字符串的拼写错误,在结束输入的同时将拼写错误的字符串在屏幕上输出。
4.4.12tr指令:转换文件中的字符
能使用tr指令转换文件中的字符
tr [-可选参数] 字符串1 [字符串2]
tr指令将标准输入输入的字符串转换为指定的字符串,然后输出到标准输出设备。
tr指令从标准输入设备读取数据,经过字符串转译后,输出到标准输出设备。
可选参数及其说明如下:
范例451 字符串转换。
[root@localhost yy]# cat b1 | tr b1 na//将字符串b1转换为字符串na1 na 10242 na 11333 na 09814 na 13215 na 19876 na 1877[root@localhost yy]# cat b1 | tr b1 name//将字符串b1转换为字符串na1 na 10242 na 11333 na 09814 na 13215 na 19876 na 1877[root@localhost yy]#
执行指令“cat b1 | tr b1 na”将文件b1中的字符串b1转换为字符串na。执行指令“cat b1 | tr b1 name”文件b1中的字符串b1转换为字符串na而非字符串2中指定的字符串name。虽然两个指令中指定的字符串2长度不同,但输出到标准输出的结果相同。
范例452 删除所有输入文本中与字符串1相匹配的字符。
[root@localhost yy]# cat b1 | tr –d b1//删除文本中与字符串b1相匹配的字符0242 333 0984 325 9876 877[root@localhost yy]#
执行指令“cat b1 | tr –d b1” 删除文本中与字符串b1相匹配的字符,并输出到标准输出。
范例453 大小写字母转换。
[root@localhost yy]# cat a1Hello everybody 1Hello everyone 2How are you 3Fine thank you and you 4I fine too 5Linux 6Red hat Linux 7[root@localhost yy]# cat a1 | tr a-y A-Y //大小写字母转换HELLO EVERYBODY 1HELLO EVERYONE 2HOW ARE YOU 3FINE THANK YOU AND YOU 4I FINE TOO 5LINUX 6RED HAT LINUX 7[root@localhost yy]#
执行指令“cat a1 | tr a-y A-Y” 将文本中的字符转换为大写字母,并输出到标准输出。
4.4.13uniq指令:检查文件中重复出现的行
掌握检查及删除文本文件中重复出现的行
uniq [-可选参数] [输入文件[输出文件] ]
uniq指令用来检查文件中重复出现的行,并将重复的部分删除。
可选参数及其说明如下:
范例454 显示文件中每行重复出现的次数。
[root@localhost yy]# cat ar//显示文件内容Hello everybodyHello everyoneHow are youFine thank you and youI fine tooLinuxLinuxLinuxRed hat Linux[root@localhost yy]# uniq –c ar //显示每行重复出现次数1 Hello everybody 1 Hello everyone1 How are you1 Fine thank you and you1 I fine too3 Linux1 Red hat Linux[root@localhost yy]#
执行指令“uniq –c ar”显示文件ar中每行重复出现的次数。
范例455 不显示文件中的重复行。
[root@localhost yy]# cat ar//显示文件内容Hello everybodyHello everyoneHow are youFine thank you and youI fine tooLinuxLinuxLinuxRed hat Linux[root@localhost yy]# uniq ar //不显示文件中的重复行Hello everybodyHello everyoneHow are youFine thank you and youI fine tooLinuxRed hat Linux[root@localhost yy]#
执行指令“uniq ar” 不显示文件中的重复行。
范例456 显示时忽略指定行。
[root@localhost yy]# cat ar//显示文件内容Hello everybodyHello everyoneHow are youFine thank you and youI fine tooLinuxLinuxLinuxRed hat Linux[root@localhost yy]# uniq –f2 ar //显示时忽略指定行Hello everybodyHow are youFine thank you and youI fine tooLinuxLinuxLinuxRed hat Linux[root@localhost yy]# uniq –f4 ar //显示时忽略指定行Hello everybodyHello everyoneHow are youI fine tooLinuxLinuxLinuxRed hat Linux[root@localhost yy]#
执行指令“uniq –f2 ar”和指令“uniq –f4 ar” 不显示指令中的指定行。