27.paste命令
合并几个文件中的相同行或同一文件其后的相同行。
paste [ -s ] [ -d list ] file ...
paste将file1 和file2 等的对应行连接起来,将每个文件看成是列或表的各列而将他们水平的粘贴在一起(平行合并)。
选项:
-d 无此选项时,文件中的每个换行符都由tab字符取代,但最后一个文件须除外(或在-s选项时最后一行除外)。此选项允许由list中一个或多个备用字符来替换tab字符(见下)。
list 代替tab成为行连接字符的一个或几个字符。即-d后面的list中的字符将依次作为行连接字符的一个或几个字符。如果是两个或多个文件合并,则作为每个文件行之间的连接字符。如果是一个文件自身合并,则作为每行的连接字符。List可包括:\n(新行)、\t(tab)、\\(反斜杠)、\0(空行),但不能为null字符。
-s 合并后续行而不是各文件中的行。用tab作为连接符。
- 可代替文件名,以从标准行中读入一行(不给出提示)。
例子:
文件1.txt内容如下
1 2 3 4 5 6
a b c d e f
文件2.txt内容如下
11 22 33 44 55 66
aa bb cc dd ee ff
连接1.txt和2.txt的各行,以tab作为行连接字符
paste 1.txt 2.txt
输出:
1 2 3 4 5 6 11 22 33 44 55 66
a b c d e f aa bb cc dd ee ff
连接1.txt各行,以空格作为连接字符
1 2 3 4 5 6 a b c d e f
在一列中列出目录
ls | paste –
在四列中列出目录
ls | paste - - - -
将成对行合并成行
paste -d “\t\n” –s 1.txt
诊断:
“line too long:”
输出字符限制在511个
“too many files:”
除非用-s选择,否则最多只能指定12个输入文件。
合并几个文件中的相同行或同一文件其后的相同行。
paste [ -s ] [ -d list ] file ...
paste将file1 和file2 等的对应行连接起来,将每个文件看成是列或表的各列而将他们水平的粘贴在一起(平行合并)。
选项:
-d 无此选项时,文件中的每个换行符都由tab字符取代,但最后一个文件须除外(或在-s选项时最后一行除外)。此选项允许由list中一个或多个备用字符来替换tab字符(见下)。
list 代替tab成为行连接字符的一个或几个字符。即-d后面的list中的字符将依次作为行连接字符的一个或几个字符。如果是两个或多个文件合并,则作为每个文件行之间的连接字符。如果是一个文件自身合并,则作为每行的连接字符。List可包括:\n(新行)、\t(tab)、\\(反斜杠)、\0(空行),但不能为null字符。
-s 合并后续行而不是各文件中的行。用tab作为连接符。
- 可代替文件名,以从标准行中读入一行(不给出提示)。
例子:
文件1.txt内容如下
1 2 3 4 5 6
a b c d e f
文件2.txt内容如下
11 22 33 44 55 66
aa bb cc dd ee ff
连接1.txt和2.txt的各行,以tab作为行连接字符
paste 1.txt 2.txt
输出:
1 2 3 4 5 6 11 22 33 44 55 66
a b c d e f aa bb cc dd ee ff
连接1.txt各行,以空格作为连接字符
1 2 3 4 5 6 a b c d e f
在一列中列出目录
ls | paste –
在四列中列出目录
ls | paste - - - -
将成对行合并成行
paste -d “\t\n” –s 1.txt
诊断:
“line too long:”
输出字符限制在511个
“too many files:”
除非用-s选择,否则最多只能指定12个输入文件。