分享
 
 
 

转-Shell笔记——命令:Sort,uniq,join,cut,paste,split

王朝学院·作者佚名  2016-05-26
窄屏简体版  字體: |||超大  

转-Shell笔记——命令:Sort,uniq,join,cut,paste,split转自:http://blog.csdn.net/wklken/article/details/6562098

Sort,uniq,join,cut,paste,split

命令——Sort

Sort可将许多不同的域按不同的列顺序分类

命令格式:

sort –cmu –o out-putfile [other options] *pos1 *pos2 input-files

选项:

-c测试文件是否已经分类

-m合并两个分类文件

-u删除所有复制行

-o存储sort结果的输出文件名

-b使用域进行分类是,忽略首个空格

-n指定分类是域上数字分类

-t域分隔符;用非空个或者tab键分割域

-r对分类次序或比较求逆

+n n为域号,使用此域开始分类

n n为域号,在分类比较时忽略此域,一般与+n一起使用

post m,n传递到m,n,m为域号,n为开始分类字符数

示例:

1.保存输出

$sort –o result sortfile

$sort sortfile > result

Sort的启动方式,sort认为一空格/多空格为分隔符,要加入其他的,必须使用-t,执行时,先查看-t,若是有,使用其进行分割,若是无,使用空格

2.查看文件是否已排序

$sort –c sortfile

3.使用其他分隔符

$sort –t: sortfile

4.排完序后求逆

$sort –t : -r sortfile

5.唯一分类,原文件中重复行去除

$sort –u sortfile

6.指定分类域,1开始

$sort –t : -k 4 sortfile

$sort –t : -k 4 –k 1 sortfile

7.指定sort序列

$sort +0 -2 +3 sortfile

8.将两个分类文件合并

$sort –m sorted-file1 sorted_file2

命令——uniq

Uniq从文本文件中去除或禁止重复行,一般uniq假定文件已分类排序,并且结果正确[sort –u唯一性选项去除所有的重复行]

Uniq中重复行指持续不断重复出现的行

格式:uniq –udc –f input-file output-file

选项:

-u只显示不重复行

-d只显示有重复的行,每种重复显示一行

-c打印每一重复行出现的次数

-f n为数字,前n个域被忽略

1.只显示非重复行

$uniq –u sortfile

2.提取非重复行到某个文件

$uniq –u sortfile result

3.只显示重复行

$uniq –d sortfile

4.打印重复行及其出现的次数

$uniq –c sortfile

5.忽略比较指定列

$uniq –f2 parts.txt

命令——join

将来自两个分类文本文件的行连在一起

前提:file1,file2已分类

每个文件都有一些元素与另一文件相关——连

有点像求并集

注:joio时文本域要少于20=

格式:join [options] input-fileinput-file2

选项:

ann为数字,用于连接时从文件n中显示不匹配行,-a1表示第一个文件的不匹配行

o n,mn为文件号,m为域号,1,3表示只显示文件1的第三域

j n mn为文件号,m为域使用其他域做连接域

t域分隔符用来设置非空格/非tab分隔符

1.连接两个文件[默认连接域为域0]

$Join name.txt. turn.txt

2.显示第一个文件的不匹配行

$join –a1 name.txt town.txt

3.设置显示连接结果

$join –o 1.1,2.2 name.txt town.txt

第一个文件第一个域和第二个文件第二个域作为显示结果

4.设置连接域

$join –j 1 3 –j 2 2 file1 file2

命令——cut

用来从标准输入或文本文件中剪切列或域

可将剪切到的文本贴到另一个文件中

格式:cut [options] file1 file2

选项:

-c list指定剪切字符数

-f field指定剪切域数

-d指定与空格/tab不同的分隔符

-c指定剪切的字符范围,字符,如-c 1,5,7第1,5,6,7字符-c 1-50前50个字符

-f指定剪切的域范围-f 1,5剪切1,5两个域-f 1,10-12剪切1,10,11,12四个域

1.使用域分隔符

$cut –d : -f3 data

[root@localhost temp]# cut -d: -f1 /etc/passwd |head -5rootbindaemonadmlp

–d : 指示cut改用:为分隔符,-f1表示第一个字段意思。

2.剪切指定域

$cut –d: -f1,3 data ##表示取出各行第一及第三个字段意思

3.剪切字符

$who –u| cut –c 1-8

[root@localhost temp]# who -uroot tty1 2011-10-19 22:09 old 2463 (:0)root pts/0 2011-11-0408:48 . 7804(192.168.0.86)root pts/2 2011-10-3109:25 old 18934(:0.0)root pts/3 2011-10-3109:47 old 18934(:0.0)[root@localhost temp]# who -u |cut -c 1-8rootrootrootroot

命令:paste

Paste将数据贴到相关文件中

存在两个不同来源数据应先分类,确保文件行数同

格式:paste –d –s file1file2

选项:

-d指定不同分隔符

-s将每个文件合并成行而不是按行黏贴

File1

1

2

File2

A

B

1.合并之

$pastefile1 file2

1A

2B

2.指定分隔符

$paste–d: file2 file1

A:1

B:2

3.合并两行,而非按行黏贴

$paste–s file1 file2

命令:split

用来将文件切分为小文件

格式:split–output_file_size input_filename output_filename

其中out_file_size为被分割行数,默认1000

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有