split用来将大文件分割成小文件。有时文件越来越大,传送这些文件时,首先将其分割可能更容易。
split格式:
split -output_file_size input_filename output_filename
这里output_file_size是指分割的行数,分割后每个文件的格式为x[aa]到x[zz],如
split bigone.txt
假设有一文件split1,
$pg split1
this is line1
this is line2
this is line3
this is line4
this is line5
this is line6
按每行文件2行分割,命令为
$split -2 split1
观察结果
$ls -lt | head
$cat xac
this is line5
this is line6
=======================================================================================================
join用来将两个分类文件的行连在一起。
其一般格式为:
join [options] input-file1 input-file2
选项类表:
an n为一数字,用于连接时从文件n中显示不匹配行。例如-a1显示第一个文件的不匹配行
o n.m n为文件号,m为域号。1.3 表示只显示文件1第3域,每个n,m必须用逗号分隔。
j n m n为文件号,m为域号。使用其他域做连接域
如:
$pg names.txt
M.Golls 12 Hide Rd
K.Fletch 12 Woodlea
P.Heller The Acre
P.Willey 132
T.Norms 84 Connaught Rd
$pg town.txt
M.Golls Norwich NRD
K.Fletch Mildenhall MAF
P.Willey Galashiels GDD
T.Norms Brandon BSL
连接两个文件
$join names.txt town.txt
M.Golls 12 Hide Rd Norwich NRD
K.Fletch 12 Woodlea Mildenhall MAF
P.Willey 132 Galashiels GDD
T.Norms 84 Connaught Rd Brandon BSL
如果一个文件与另一个文件有不匹配行,可用-a选项
$ join -a1 -a2 names.txt town.txt
$join -o 1.1,2.2 names.txt town.txt
M.Golls Norwich
K.Fletch Mildenhall
P.Willey Galashiels
T.Norms Brandon
1.1显示第一个文件第一个域,2.2显示第二个文件第二个域,其间用逗号分隔。