每天两个命令之join与split(13)

2568阅读 0评论2012-06-20 无赖皮肤
分类:LINUX


1:join:将两个文件的相同字段合并


join命令通过连接字段将多个文件内容合并为一行。默认情况下,把文件中第一个字段作为连接字段,字段之间用空格断开。使用join命令合并文件时,要求给出的两个文件必须是sort命令排序后的,并且排序字段和合并字段相同。


语法格式:

join option arguments


option:
-a <文件号>   打印指定文件中不配对的行。文件号可选1或者2,分别表示第一个文件参数和第二个文件参数

-e      使用x代替丢失的输入字段

-i                    比较字段的时候,忽略大小写

-1 <字段>        在第一个文件参数的指定字段上进行合并操作

-2 <字段>        在第二个文件参数的指定字段上进行合并操作

-t <字符>         用指定的字符作为分隔符

-o <格式字符串> 用指定的“格式字符串”样式显示合并的结果


arguments:

文件1,要进行合并操作的第一个文件

文件2,要进行合并操作的第二个文件



实例:

lishuo@lishuo-Rev-1-0:~/audio$ cat com
li 80
wang 90
chen 75
ding 86

lishuo@lishuo-Rev-1-0:~/audio$ cat eng
wang 78
chen 89
li 98
ding 87

lishuo@lishuo-Rev-1-0:~/audio$ sort com > com.sort

lishuo@lishuo-Rev-1-0:~/audio$ sort eng > eng.sort

lishuo@lishuo-Rev-1-0:~/audio$ join com.sort eng.sort 
chen 75 89
ding 86 87
li 80 98
wang 90 78





2:split:将文件分割成指定大小的块。


split命令将文件分割成(默认1000行)的一个个文件,后缀命名规则是.aa到.zz。

语法格式:

split option argument


option:

-a 指定每个文件的后缀长度为N,默认为2.

-b 指定每个文件的大小为bytes字节数。

-k 指定文件大小为bytes k字节数

-m 指定文件大小为bytes M字节数

-C 指定每个文件中每行的最大字节书为bytes。

-d 用数字代替字母作为碎片文件的后缀。

-l 设置每个文件的行数。


argument:

文件:指定待分割的原文件

后缀:指定生成文件的后缀



实例:

lishuo@lishuo-Rev-1-0:~/audio/xx$ wc -l x
1833 x

lishuo@lishuo-Rev-1-0:~/audio/xx$ split -l 10 x

lishuo@lishuo-Rev-1-0:~/audio/xx$ ls
x    xao  xbd  xbs  xch  xcw  xdl  xea  xep  xfe  xft  xgi  xgx
xaa  xap  xbe  xbt  xci  xcx  xdm  xeb  xeq  xff  xfu  xgj  xgy
xab  xaq  xbf  xbu  xcj  xcy  xdn  xec  xer  xfg  xfv  xgk  xgz
xac  xar  xbg  xbv  xck  xcz  xdo  xed  xes  xfh  xfw  xgl  xha
xad  xas  xbh  xbw  xcl  xda  xdp  xee  xet  xfi  xfx  xgm  xhb
xae  xat  xbi  xbx  xcm  xdb  xdq  xef  xeu  xfj  xfy  xgn
xaf  xau  xbj  xby  xcn  xdc  xdr  xeg  xev  xfk  xfz  xgo
xag  xav  xbk  xbz  xco  xdd  xds  xeh  xew  xfl  xga  xgp
xah  xaw  xbl  xca  xcp  xde  xdt  xei  xex  xfm  xgb  xgq
xai  xax  xbm  xcb  xcq  xdf  xdu  xej  xey  xfn  xgc  xgr
xaj  xay  xbn  xcc  xcr  xdg  xdv  xek  xez  xfo  xgd  xgs
xak  xaz  xbo  xcd  xcs  xdh  xdw  xel  xfa  xfp  xge  xgt
xal  xba  xbp  xce  xct  xdi  xdx  xem  xfb  xfq  xgf  xgu
xam  xbb  xbq  xcf  xcu  xdj  xdy  xen  xfc  xfr  xgg  xgv
xan  xbc  xbr  xcg  xcv  xdk  xdz  xeo  xfd  xfs  xgh  xgw


上一篇:每天两个命令之cut与sort(12)
下一篇:人类一思考,上帝就发笑(1)